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

Javascript regexp to remove duplicated spaces AND duplicated   at the same time

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

我已经搜索了一段时间,但我没有找到任何东西来完成这个,而且我对 REGEXP 一点也不熟悉,所以我想知道是否有好心人可以帮助我。

示例:

'foo  bar'
'foo  bar'

'foo bar'

任何帮助都会很棒。

您可以使用:

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

RegEx Demo

解释:

  • ( | ) - 匹配 space 或  ,并将其分组为匹配组#1
  • + - </code> 是对上述捕获组的反向引用。匹配 1 个或多个 same</li> <li>替换为 <code> 是对上述捕获组的反向引用
var text = stringToReplace.replace(/[^\w\s]/gi, '');

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

你可以这样做:

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