【发布时间】:2011-03-18 05:51:05
【问题描述】:
如何在 Javascript 中自动用单个空格替换多个空格的所有实例?
我尝试链接一些 s.replace,但这似乎不是最佳选择。
我也在使用 jQuery,以防它是一个内置功能。
【问题讨论】:
标签: javascript jquery replace
如何在 Javascript 中自动用单个空格替换多个空格的所有实例?
我尝试链接一些 s.replace,但这似乎不是最佳选择。
我也在使用 jQuery,以防它是一个内置功能。
【问题讨论】:
标签: javascript jquery replace
您可以使用正则表达式替换:
str = str.replace(/ +(?= )/g,'');
学分:以上正则表达式取自Regex to replace multiple spaces with a single space
【讨论】:
str= ''+str.replace(/ +(?= )/g,'') 是更好的解决方案,以防您的 str 是 undefinied 或 NaN :)
您可以使用许多正则表达式选项来完成此操作。一个表现良好的例子是:
str.replace( /\s\s+/g, ' ' )
有关此问题的完整讨论,请参阅此问题:Regex to replace multiple spaces with a single space
【讨论】:
您也可以不使用正则表达式进行替换。
while(str.indexOf(' ')!=-1)str.replace(' ',' ');
【讨论】:
你们都忘了量词 n{X,} http://www.w3schools.com/jsref/jsref_regexp_nxcomma.asp
这里最好的解决方案
str = str.replace(/\s{2,}/g, ' ');
【讨论】:
/\s+/g 也替换单个空格(不需要这个),但 /\s\s+/g 或 /\s{2,}/g 仅替换多个空格。