Google Sheets REGEXREPLACE:替换URL文件名斜杠而非路径斜杠
解决URL中仅替换文件名部分斜杠的REGEXREPLACE公式
需求匹配公式
直接使用嵌套的REGEXREPLACE即可实现,公式如下:
=REGEXREPLACE(A2,"((?:[^/]+/){4})(.*)","$1"®EXREPLACE("$2","/","-"))
公式拆解说明
- 捕获前4个斜杠的完整前缀:
((?:[^/]+/){4})(?:[^/]+/)是一个非捕获组,匹配“任意非斜杠字符 + 一个斜杠”的组合- 重复4次后,精准捕获URL中前4个斜杠所在的前缀部分(比如示例中的
https://www.example.com/inn/),并保存为捕获组$1
- 处理剩余文件名部分:
(.*)捕获第4个斜杠之后的所有内容(即包含斜杠的文件名),保存为$2 - 拼接结果:保留
$1不变,单独对$2执行斜杠替换为短横线的操作,再拼接成最终URL
示例验证
原URL:https://www.example.com/inn/abc_name_of_the_product_w/o_additional_information.132.jpeg
替换后结果:https://www.example.com/inn/abc_name_of_the_product_w-o_additional_information.132.jpeg
简化单正则写法(可选)
如果习惯用单正则表达式,也可以用正向预查实现:
=REGEXREPLACE(A2,"/(?=(?:(?:[^/]+/){4})[^/]*$)","-")
这个正则通过正向预查判断当前斜杠是否处于第4个斜杠之后的区域,仅替换符合条件的斜杠。
内容的提问来源于stack exchange,提问作者Speedbit
相关产品推荐
相关产品推荐

