求助:如何在Google Sheets/Excel中从URL提取Slug?
在Google Sheets/Excel中提取URL的Slug
Google Sheets 解决方案
方法1:正则表达式提取(推荐)
直接用REGEXEXTRACT函数匹配URL最后一段内容,适配绝大多数场景:
=REGEXEXTRACT(A1,"/([^/]+)$")
- 说明:
A1是存储目标URL的单元格;正则表达式/([^/]+)$会定位最后一个斜杠/,并提取其后所有非斜杠字符直到URL结尾。
方法2:兼容末尾带斜杠的URL
如果URL末尾可能带有斜杠(如https://example.com/this-is-my-slug/),先移除末尾斜杠再提取:
=REGEXEXTRACT(REGEXREPLACE(A1,"/$",""),"/([^/]+)$")
- 说明:
REGEXREPLACE(A1,"/$","")会清除URL末尾的斜杠,再用正则提取slug。
Excel 解决方案
方法1:Excel 365/2021 简化版
借助TEXTAFTER函数直接提取最后一个斜杠后的内容:
=TEXTAFTER(A1,"/",-1)
- 说明:参数
-1表示提取最后一个斜杠分隔符之后的内容;若URL末尾带斜杠会返回空值,可优化为:
=TEXTAFTER(IF(RIGHT(A1,1)="/",LEFT(A1,LEN(A1)-1),A1),"/",-1)
方法2:旧版Excel兼容方案
针对没有TEXTAFTER函数的旧版Excel,用函数组合实现提取:
=RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))))
- 说明:
SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))将URL中最后一个斜杠替换为~;FIND("~",...)定位这个~的位置;RIGHT(A1,LEN(A1)-...)截取该位置之后的内容,即slug。
- 兼容末尾斜杠的版本:
=IF(RIGHT(A1,1)="/",RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))-1)),RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))))
内容的提问来源于stack exchange,提问作者Caronaxis
相关产品推荐
相关产品推荐

