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

2022-08-19 18:15:12 字數 1102 閱讀 6789

關於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...