2015-10-20 72 views
0

提取了一些我有一个文本字符串,其中包括一个超链接hyperlink.That包括视频ID号这是我想最终提取什么。 文本字符串的长度可能会有所不同,因此我要提取的数字前后的字母数量会有所不同。 下面是一个例子:返回结果时,从文本字符串

> Hello Mrs. Sinatra, Here is an email that supports practices for Danielson Domain:https://www.pd360.com/#resources/videos/330 (Utilize Effective Strategies - 11:23) 

我想提取的数量是330,它总是遵循; /videos/###

有什么想法?

+0

我建议在斜线(/)上分割,并抓住最后一个下标 – ElenaDBA

+0

您能举个例子吗? – Aidandebradney

回答

0

如果图案是相同的,你可以使用substring_index东西作为

mysql> select substring_index('https://www.pd360.com/#resources/videos/330','/videos/',-1) as id ; 
+-----+ 
| id | 
+-----+ 
| 330 | 
+-----+ 
1 row in set (0.01 sec) 

如果你有/videos/330后更字符串,如果它们被' '分开的,那么你可以为

mysql> 
select 
substring_index(
    substring_index(
     'pd360.com/index.html#resources/videos/5334 (Using Manipulatives in Algebra - 8:56)"','/videos/',-1 
    ),' ',1 
) as id ; 
+------+ 
| id | 
+------+ 
| 5334 | 
+------+ 

使用您可在桌上的东西与你的列名更改硬编码字符串如

select 
substring_index(substring_index(col_name,'/videos/',-1),' ',1) as id 
from table_name 
+0

然而,我可能没有解释清楚,'330'有所不同。所以它不仅仅是我需要提取的330,其后面的任何数字'/ videos/???' – Aidandebradney

+0

是的,这将是以后'/视频任意数量/ ###',所以上面的查询会后'/视频/返回任意数量的' –

+0

我得到的,如果我使用上面的查询是330的结果,没有别的变化。例如,在下面的文本字符串中,我想提取'5334'数字; “您好卡斯特罗先生,这是一个资源,可以为您在数学教学中使用代数瓷砖提供额外的想法。Dobson女士https://www.pd360.com/index.html#resources/videos/5334(使用Manipulatives在代数 - 8:56)“ – Aidandebradney

相关问题