SQLite 3.39.4中如何提取URL最后斜杠后的内容(无需REGEXP_SUBSTR)
在SQLite 3.39.4中提取URL最后斜杠后的部分(无需REGEXP_SUBSTR扩展)
不用安装额外扩展,直接用SQLite自带的字符串函数就能实现,给你两种实用写法:
方法一:利用反转字符串+负索引截取
SELECT SUBSTR(url, INSTR(REVERSE(url), '/') * -1) AS last_segment FROM your_table;
逻辑拆解:
REVERSE(url):把整个URL反转,比如示例URL反转后变成tcudorp-taerg-si-siht/54321/tcudorp/moc.niamod.pohs//:sptthINSTR(...):找到反转后字符串里第一个斜杠的位置,示例里这个位置是23SUBSTR(url, 位置*-1):SUBSTR的第二个参数传负数时,会从原字符串的末尾往前数对应位置开始截取,刚好跳过最后一个斜杠,拿到后面的内容
方法二:通过总长度计算截取位置
SELECT SUBSTR(url, LENGTH(url) - INSTR(REVERSE(url), '/') + 2) AS last_segment FROM your_table;
逻辑拆解:
LENGTH(url):获取原URL的总长度INSTR(REVERSE(url), '/'):同样拿到反转后第一个斜杠的位置,也就是原URL最后一个斜杠到末尾的字符数(包含斜杠)- 用总长度减去这个位置再加2,算出截取的起始索引(因为SQLite字符串索引从1开始,要跳过最后一个斜杠)
两种方法代入你给的示例URL,都能准确提取出 this-is-great-product。
内容的提问来源于stack exchange,提问作者PerseP
相关产品推荐
相关产品推荐

