關於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
對比發現,還是用正則快一點吧~~而且感覺高大上~~~
JS刪除String裡某個字元的方法
關於js刪除string裡的字元的方法,一般使用replace 方法。但是這個方法只會刪除一次,如果需要將string裡的所以字元都刪除就要用到正則。1 2 3 4 varstr abcdaabbssaaa varreg newregexp a g vara str.replace reg,cons...
JS刪除String裡某個字元的方法
關於js刪除string裡的字元的方法,一般使用replace 方法。但是這個方法只會刪除一次,如果需要將string裡的所以字元都刪除就要用到正則。1 2 3 4 varstr abcdaabbssaaa varreg newregexp a g vara str.replace reg,cons...
JS刪除String裡某個字元的方法
關於js刪除string裡的字元的方法,一般使用replace 方法。但是這個方法只會刪除一次,如果需要將string裡的所以字元都刪除就要用到正則。1 2 3 4 varstr abcdaabbssaaa varreg newregexp a g vara str.replace reg,cons...