Javascript正则表达式删除重复的空格并同时复制

时间:2015-01-16 14:19:37

标签: javascript regex

我需要使用正则表达式或其他任何有效的函数来标准化字符串(普通空格和  html实体)中的额外空格。

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

示例:

'foo  bar'
'foo  bar'

'foo bar'

任何帮助都会很棒。

3 个答案:

答案 0 :(得分:2)

你可以这样做:

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

答案 1 :(得分:1)

您可以使用:

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

RegEx Demo

说明:

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

答案 2 :(得分:1)

var text = stringToReplace.replace(/[^\w\s]/gi, '');

^ - Negation, 
\s - WhiteSpaces, 
\w - underscores, 
gi - global and case-insensitive