javascript
JS删除String里某个字符的方法
關(guān)于JS刪除String里的字符的方法,一般使用replace()方法。但是這個(gè)方法只會(huì)刪除一次,如果需要將string里的所以字符都刪除就要用到正則。
| 1 2 3 4 | var?str =?"abcdaabbssaaa"; var?reg =?new?RegExp("a","g"); var?a = str.replace(reg,""); console.log(a); |
這里用 new RegExp()這個(gè)方法創(chuàng)建正則,第一個(gè)參數(shù)“a”指定了正則表達(dá)式的模式或其他正則表達(dá)式。后一個(gè)參數(shù)是一個(gè)可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配。ECMAScript 標(biāo)準(zhǔn)化之前,不支持 m 屬性。如果?pattern?是正則表達(dá)式,而不是字符串,則必須省略該參數(shù)。
如果打印reg的結(jié)果是:?/a/g 。
還有一種比較取巧的方法,就是分割成數(shù)組,再重新拼接成新的字符串。
| 1 2 3 | var?str =?"abcdaabbssaaa"; var?a = str.split("a").join(""); console.log(a); |
我測試了一下這兩種方式的性能,選取了一個(gè)長度為133的字符串,其中要?jiǎng)h除的字符有28個(gè),兩種方法的用時(shí)如下表:
| 使用正則 | 分割成數(shù)組 |
| 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
對比發(fā)現(xiàn),還是用正則快一點(diǎn)吧~~而且感覺高大上~~~
總結(jié)
以上是生活随笔為你收集整理的JS删除String里某个字符的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 涉案银行卡被冻结了会自动解冻吗
- 下一篇: gradle idea java ssm