您好,登錄后才能下訂單哦!
方法一 正則
關于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
對比發現,還是用正則快一點吧~~而且感覺高大上~~~
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。