亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用單個空格替換多個空格的正則表達式

用單個空格替換多個空格的正則表達式

用單個空格替換多個空格的正則表達式給出如下的字符串:"The dog      has a long   tail, and it     is RED!"什么樣的jQuery或JavaScript魔法可以將空間保持在一個最大空間?目標:"The dog has a long tail, and it is RED!"
查看完整描述

3 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

考慮到您還想覆蓋制表符、換行符等,只需替換\s\s+帶著' ':

string = string.replace(/\s\s+/g, ' ');

如果您確實希望只覆蓋空格(因此不包括制表符、換行符等),請這樣做:

string = string.replace(/  +/g, ' ');


查看完整回答
反對 回復 2019-07-11
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

因為您似乎對性能感興趣,所以我用Firebug對它們進行了分析。以下是我得到的結果:

str.replace( /  +/g, ' ' )      
 ->  380msstr.replace( /\s\s+/g, ' ' )   
   ->  390msstr.replace( / {2,}/g, ' ' )    
    ->  470msstr.replace( / +/g, ' ' )     
       ->  790msstr.replace( / +(?= )/g, ' ')  
         -> 3250ms

這是在Firefox上,運行100 k字符串替換。

如果您認為性能是個問題,我鼓勵您使用Firebug進行自己的分析測試。眾所周知,人類在預測其程序中的瓶頸所在方面做得很差。

(另外,請注意,IE8的Developer工具欄也內置了一個分析器-可能值得檢查IE中的性能。)


查看完整回答
反對 回復 2019-07-11
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

var str = "The      dog        has a long tail,      and it is RED!";str = str.replace(/ {2,}/g,' ');

編輯:如果您希望替換所有類型的空白字符,最有效的方法是:

str = str.replace(/\s{2,}/g,' ');


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 1614 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號