用一个空格字符替换连续的空白字符。

3

我想使用JavaScript替换两个或多个空格的出现,只使用一个空格字符(此代码将作为Chrome扩展程序运行)。

3个回答

4
"    this is    tooo    spaced      ".replace(/\s+/g, " ");

返回值

" this is tooo spaced "

这个匹配一个或多个。OP正在寻找“不止一个”。/\s{2,}/g更有意义(尽管你的仍然有效)。 - user1385191

3

您可以使用以下方式同时执行:

"str   str\t\t\tstr".replace(/(\s)+/g, "$1");

不知道\s也可以匹配\t。令人印象深刻! - Davide
@Davide,我现在该如何用空格替换制表符?我需要再写一个循环吗? - Max
如果您想将所有空格字符替换为一个空格,您应该只使用Davin编写的方法。我添加了我的例子,因为我认为您希望将多个制表符替换为一个制表符,多个空格替换为一个空格等。 - deviousdodo

1

针对空格:

'test   with   spaces'.replace( /\s+/g, ' ' );

关于选项卡:

'test\t\t\twith\t\t\ttabs'.replace( /\t+/g, '\t' );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接