删除Javascript中的所有多个空格并替换为单个空格

Ale*_*lex 76 javascript jquery replace

如何在Javascript中使用单个空格自动替换多个空格的所有实例?

我试过链接一些,s.replace但这似乎不是最佳的.

我也在使用jQuery,以防它是内置功能.

Jos*_*iah 154

您可以使用正则表达式替换:

str = str.replace(/ +(?= )/g,'');
Run Code Online (Sandbox Code Playgroud)

信用:上述正则表达式取自Regex,用一个空格替换多个空格

  • 这也有效.s = s.replace(/ +/g,""); (33认同)
  • 我正在从txt文件中读取数据(通过AJAX),并且@InfinitiesLoop正则表达式工作正常,但Josiah没有 (2认同)
  • 这对我不起作用。但是@redexp 做到了。 (2认同)

Gre*_*les 41

您可以使用许多正则表达式来完成此任务.一个表现良好的例子是:

str.replace( /\s\s+/g, ' ' )
Run Code Online (Sandbox Code Playgroud)

有关此确切问题的完整讨论,请参阅此问题:正则表达式用单个空格替换多个空格


red*_*exp 27

你们都忘了量词n {X,} http://www.w3schools.com/jsref/jsref_regexp_nxcomma.asp

这里是最好的解决

str = str.replace(/\s{2,}/g, ' ');
Run Code Online (Sandbox Code Playgroud)

  • 使用括号量词而不是简单的+有什么改进? (2认同)

ken*_*bec 5

您也可以在没有正则表达式的情况下进行替换。

while(str.indexOf('  ')!=-1)str.replace('  ',' ');
Run Code Online (Sandbox Code Playgroud)