代码之家  ›  专栏  ›  技术社区  ›  Einarr

在带有正则表达式的字符串中删除“/”后的空白

  •  3
  • Einarr  · 技术社区  · 7 年前

    对regex非常陌生

    我需要删除后面的空白 / 字符串中的字符(如果存在)

    前任

    查找/替换其他内容>>查找/替换其他内容

    我在努力 .replace(/[/]+$/g, "") 但没有效果

    我在谷歌应用程序脚本中使用这个

    1 回复  |  直到 7 年前
        1
  •  2
  •   Wiktor Stribiżew    7 年前

    你可以匹配一个正斜杠( \/ ,从 / 用作regex分隔符char),然后使用任意一个或多个空格( \s+ )要替换为反斜杠:

    s = s.replace(/\/\s+/g, '')
    

    或者,用一个捕获组捕获正斜杠(一对无转义括号, (...) ,并替换为替换的backreference $1 :

    s = s.replace(/(\/)\s+/g, '$1')
    

    查看js演示:

    console.log("/abc/   spaces/ 	 more spaces".replace(/\/\s+/g, '/'))
    console.log("/abc/   spaces/ 	 more spaces".replace(/(\/)\s+/g, '$1'))

    所有匹配项都将被替换,因为 g 使用(全局)修饰符。