JS刪除String裡某個字元的方法

來源:互聯網
上載者:User

標籤:tab   pattern   長度   table   val   而不是   bss   exp   middle   

  關於JS刪除String裡的字元的方法,一般使用replace()方法。但是這個方法只會刪除一次,如果需要將string裡的所以字元都刪除就要用到正則。

var str = "abcdaabbssaaa";var reg = new RegExp("a","g");var a = str.replace(reg,"");console.log(a);

  

  這裡用 new RegExp()這個方法建立正則,第一個參數“a”指定了Regex的模式或其他Regex。後一個參數是一個可選的字串,包含屬性 "g"、"i" 和 "m",分別用於指定全域匹配、區分大小寫匹配和多行匹配。ECMAScript 標準化之前,不支援 m 屬性。如果 pattern 是Regex,而不是字串,則必須省略該參數。

  如果列印reg的結果是: /a/g 。

  

 

  還有一種比較取巧的方法,就是分割成數組,再重新拼接成新的字串。

var str = "abcdaabbssaaa";var a = str.split("a").join("");console.log(a);

  

  我測試了一下這兩種方式的效能,選取了一個長度為133的字串,其中要刪除的字元有28個,兩種方法的用時如下表:

使用正則 分割成數組
11.674ms 6.569ms
8.683ms 6.727ms
5.802ms 12.309ms
4.492ms 8.456ms
3.921ms 6.481ms
3.766ms 4.275ms
6.472ms 2.985ms
14.631ms 15.029ms
6.985ms 8.523ms
9.835ms 7.063ms

  使用正則刪除字元的,最慢14.631ms,最快3.766ms,平均7.6261ms

  使用第二種方法,最慢15.029ms,最快2.985ms,平均7.8417ms

  對比發現,還是用正則快一點吧~~而且感覺高大上~~~

JS刪除String裡某個字元的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.