如何在JavaScript中自動替換多個空格的所有實例(使用單個空格)?刪除Javascript中的所有多個空格,並用單個空格替換
我試過鏈接一些s.replace
,但這似乎並不理想。
我也使用jQuery,以防萬一它是內置功能。
如何在JavaScript中自動替換多個空格的所有實例(使用單個空格)?刪除Javascript中的所有多個空格,並用單個空格替換
我試過鏈接一些s.replace
,但這似乎並不理想。
我也使用jQuery,以防萬一它是內置功能。
您可以使用正則表達式替換:
str = str.replace(/ +(?=)/g,'');
信用:上述正則表達式是從Regex to replace multiple spaces with a single space
採取有很多的你可以用它來完成這個正則表達式的選項。這將表現良好的一個例子是:
str.replace(/\s\s+/g, ' ')
看到這個問題的充分討論這個確切的問題:Regex to replace multiple spaces with a single space
謝謝這是唯一的正則表達式一個爲我工作 – 2012-09-27 17:06:02
這是我嘗試過的唯一一個,它適用於我的情況。 – 2014-09-25 15:09:43
你也可以不用更換正則表達式。
while(str.indexOf(' ')!=-1)str.replace(' ',' ');
工作太...問題是:哪個更有效率?此版本或正則表達式版本。我有一個正則表達式的偏好,因爲我們從來沒有練習過。 – 2012-12-27 10:44:14
我不知道 - 如果你沒有匹配,這種方法更有效率。如果你有很多比賽,有人做錯了。 – kennebec 2012-12-27 21:38:45
這裏是一個[小提琴](http://jsfiddle.net/NickT/ScJKw/1/),我希望強調這個區別。它清楚地表明,正則表達式在所有情況下至少與循環版本一樣快。並不是說循環版本不好,只是指出必須考慮產品的可維護性和演進。 – 2012-12-28 07:59:47
大家忘記量詞N {X,} http://www.w3schools.com/jsref/jsref_regexp_nxcomma.asp
這裏最好的解決方案
str = str.replace(/\s{2,}/g, ' ');
你也可以引用[Regular Expression](http://www.regular-expressions.info/)網站上的各種正則表達式口味和全部參考。 – 2012-12-27 10:45:52
使用括號量詞比簡單的+有什麼改進? – 2017-02-22 09:37:05
@ some-non-descript-user'/ \ s +/g'也替換單個空格(不需要這個),而是'/ \ s \ s +/g'或'/ \ s {2,}/g'只替換多個空格。 – 2017-05-14 09:38:20
這工作了。 s = s.replace(/ +/g,「」); – InfinitiesLoop 2010-07-20 03:54:33
非常真實:) - 插入更多字符 - – Josiah 2010-07-20 04:02:12
'str =''+ str.replace(/ +(?=)/ g,'')'是更好的解決方案,以防您的str未定義或' NaN' :) – Val 2011-07-04 10:08:52