Google Sheets中如何为REGEXREPLACE添加匹配移除URL末尾%2F
解决方法:移除末尾的
%2F 没问题,咱们只需要在现有公式基础上调整正则规则,就能轻松去掉末尾的%2F,这里给你两种实用方案:
方案1:嵌套REGEXREPLACE(直观易读)
直接在你现有公式外层套一层REGEXREPLACE,专门匹配字符串末尾的%2F并替换为空:
=REGEXREPLACE(REGEXREPLACE(TRIM(RIGHT(SUBSTITUTE(D2,"uddg=",REPT(" ",255)),255)), "%3A%2F%2F", "//"), "%2F$", "")
- 内层
REGEXREPLACE保持你原来的逻辑,把%3A%2F%2F替换成//; - 外层
REGEXREPLACE用%2F$作为匹配规则:$代表字符串的末尾位置,只会替换最后出现的%2F,不会影响URL中间的内容。
方案2:单REGEXREPLACE搞定(更简洁)
如果想只用一个REGEXREPLACE完成所有替换,可以用正则的交替模式同时匹配两种情况,再通过捕获组区分替换内容:
=REGEXREPLACE(TRIM(RIGHT(SUBSTITUTE(D2,"uddg=",REPT(" ",255)),255)), "(%3A%2F%2F)|(%2F$)", IF($1<>"", "//", ""))
(%3A%2F%2F)|(%2F$)表示匹配%3A%2F%2F或者 末尾的%2F;IF($1<>"", "//", "")逻辑:如果匹配到第一个捕获组(即%3A%2F%2F)就替换成//,否则(匹配到末尾的%2F)就替换成空字符串。
补充小提示
如果你的目标URL有时候末尾不一定带%2F,正则的方式会更稳妥——它只会在末尾确实存在%2F时才移除,不会误伤其他正常内容。
内容的提问来源于stack exchange,提问作者sigur7
相关产品推荐
相关产品推荐

