【问题标题】:Javascript regexp to remove duplicated spaces AND duplicated   at the same timeJavascript 正则表达式同时删除重复的空格和重复的
【发布时间】:2015-01-16 22:28:53
【问题描述】:

我需要使用正则表达式或其他任何有效的方法对字符串(普通空格和  html 实体)中的多余空格进行规范化。

我一直在寻找一段时间,但我没有找到任何东西来完成这个,而且我对 REGEXP 一点也不熟悉,所以我想知道是否有一个好的灵魂可以帮助我。

例子:

'foo  bar'
'foo  bar'

'foo bar'

任何帮助都会很棒。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你可以这样做:

    str = str.replace(/(?: |\s)+/gi, ' ');
    

    【讨论】:

      【解决方案2】:

      你可以使用:

      str = str.replace(/( | )\1+/g, '$1');
      

      RegEx Demo

      说明:

      • ( | ) - 匹配空格或 ,也将其分组为匹配组#1
      • \1+ - \1 是对上述捕获组的反向引用。匹配 1 个或多个相同的实例
      • 替换为 $1 是对上述捕获组的反向引用

      【讨论】:

        【解决方案3】:
        var text = stringToReplace.replace(/[^\w\s]/gi, '');
        
        ^ - Negation, 
        \s - WhiteSpaces, 
        \w - underscores, 
        gi - global and case-insensitive
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-08
          • 2017-03-03
          • 2017-04-07
          • 1970-01-01
          • 2012-02-24
          • 2015-05-08
          相关资源
          最近更新 更多