需要帮助从SQLite中的URL链接提取值吗

需要帮助从SQLite中的URL链接提取值吗,sql,sqlite,Sql,Sqlite,我正在为SQLite使用DB浏览器 我有一个名为“df”的表和一列,其中包含一组名为“links”的URL链接。所有链接均来自同一网站,并遵循相同的结构化格式: https://“网站名称”/“语言”/“内容类型”/“内容id”/“内容名称” 语言的几个例子: 1.恩乌 2.弗鲁卡 3.恩努斯 等等 此外,链接的“内容类型”部分中只有一个唯一值 目标: 我需要从链接中提取所有内容ID的帮助 我尝试过正则表达式,但这会提取与正则表达式匹配的所有信息,而不是内容id。我还使用了substr函数(请参

我正在为SQLite使用DB浏览器

我有一个名为“df”的表和一列,其中包含一组名为“links”的URL链接。所有链接均来自同一网站,并遵循相同的结构化格式:

https://“网站名称”/“语言”/“内容类型”/“内容id”/“内容名称”

语言的几个例子: 1.恩乌 2.弗鲁卡 3.恩努斯 等等

此外,链接的“内容类型”部分中只有一个唯一值

目标: 我需要从链接中提取所有内容ID的帮助

我尝试过正则表达式,但这会提取与正则表达式匹配的所有信息,而不是内容id。我还使用了substr函数(请参见下面的代码),但这会引发一些问题: 1.有些链接不是以“www”开头的 2.并非所有内容ID都具有相同的字符长度。 3.并非所有语言ID的字符长度都相同

SELECT
    substr(links, 36, instr(links, '/') +1) AS content_id
FROM df

字符串操作?我在PatIndex()中使用字符串“内容类型”来查找该字符串的存在位置,然后使用CharIndex()来查找内容id的起始斜杠和结束斜杠,然后使用Substring()来拉出该字符串

    Create Table #links
    (
    link VarChar(200)
    )
    Insert Into #links Values
    ('''https://''website name''/''language''/''type of content''/''en_au''/''name of content'''),
    ('''https://''website name''/''language''/''type of content''/''fr_ca''/''name of content'''),
    ('''https://''website name''/''language''/''type of content''/''en_us''/''name of content''')

Query

    Select SubString
          (
           link,
           PatIndex('%type of content%',link)+17,
           CharIndex('/',link,PatIndex('%type of content%',link)+17)-CharIndex('/',link,PatIndex('%type of content%',link))-1
          )
           As YourNewColumn
    From #links
结果

YourNewColumn
'en_au'
'fr_ca'
'en_us'

我明白了。这是Sqlite的答案:

选择
substr(链接,instr(链接,'内容类型')+11,6)作为内容id

从df
示例数据中,您尝试了什么,期望的输出。如果我的帖子中不清楚,很抱歉,但我已经尝试了我粘贴在上面的代码(substr)。我想要的输出是从我上面发布的url链接示例中提取“content_id”。如果有意义的话,我更喜欢查找第5和第6个“/”之间的值的方法。可能类似于excel中的左函数或右函数。您可能会发现这个答案很有用:
regexp
模式是。然后选择regexp\u replace(列,模式,'\1')。有没有办法创建一个新列而不是替换原始列?