如何使用正则表达式删除双空白字符?

时间:2010-08-31 12:36:50

标签: javascript regex

输入:

".    .   .  . ."

预期产出:

". . . . ."

4 个答案:

答案 0 :(得分:22)

text = text.replace(/\s{2,}/g, ' ');
  • \s会占用所有空格,包括新行,因此您可以将其更改为/ {2,}/g
  • {2,}需要两个或更多。与\s+不同,这不会用单个空格替换单个空格。 (有点优化,但通常会有所不同)
  • 最后,JavaScript中需要g标志,否则它只会更改第一个空格块,而不是所有空格。

答案 1 :(得分:2)

尝试

result = str.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');

答案 2 :(得分:1)

var str="this is    some text    with   lots  of    spaces!";
var result =str.replace(/\s+/," ");

答案 3 :(得分:0)

PCRE中的

s/\s+/ /g
JavaScript中的

text = text.replace(/\s+/g, " ");