JS刪除String裏某個字符的方法

這篇文章主要介紹了JS刪除String裏某個字符的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,,需要的朋友可以參考下

方法一 正則

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

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

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

如果打印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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章