JS刪除String里某個字符的方法
方法一 正則
關(guān)于JS刪除String里的字符的方法,一般使用replace()方法。但是這個方法只會刪除一次,如果需要將string里的所以字符都刪除就要用到正則。
var str = "abcdaabbssaaa";
var reg = new RegExp("a","g");
var a = str.replace(reg,"");
console.log(a);
這里用 new RegExp()這個方法創(chuàng)建正則,第一個參數(shù)“a”指定了正則表達(dá)式的模式或其他正則表達(dá)式。后一個參數(shù)是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配。ECMAScript 標(biāo)準(zhǔn)化之前,不支持 m 屬性。如果 pattern 是正則表達(dá)式,而不是字符串,則必須省略該參數(shù)。
如果打印reg的結(jié)果是: /a/g ?! ?/p>
方法二 分隔成數(shù)組
還有一種比較取巧的方法,就是分割成數(shù)組,再重新拼接成新的字符串。
var str = "abcdaabbssaaa";
var a = str.split("a").join("");
console.log(a);
我測試了一下這兩種方式的性能,選取了一個長度為133的字符串,其中要刪除的字符有28個,兩種方法的用時如下表:
| 使用正則 | 分割成數(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),還是用正則快一點吧~~而且感覺高大上~~~
下面是補(bǔ)充
Js刪除字符串中的指定字符串
案例一、
比如:原字符串
var StringFirst = "12:30:08";
現(xiàn)在要刪掉冒號,變成123008
就可以先split
var splitFirst = StringFirst.split(':');
這時候分割的每個元素分別是12 30 08,就沒有冒號了,然后把這個數(shù)組連起來
var ResultString = splitFirst.join('');
連接的字符串是空的,啥都沒有,也不是空格。
這樣結(jié)果 ResultString 就成了 123008
案例二、
比如,原字符串
str = 'btn_text,other_call,start_place,estimate_price,select_contacts,payment,remark'
可以先轉(zhuǎn)換為數(shù)組,然后再從數(shù)組中移除
var arr = str.split(',');
arr.splice($.inArray('要移除的字符串',arr),1);
到此這篇關(guān)于JS刪除String里某個字符的方法的文章就介紹到這了,更多相關(guān)JS刪除String里某個字符的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ES6基礎(chǔ)之解構(gòu)賦值(destructuring assignment)
這篇文章主要介紹了ES6基礎(chǔ)之解構(gòu)賦值(destructuring assignment),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
使用GruntJS構(gòu)建Web程序之構(gòu)建篇
前一篇記錄了Grunt的安裝,這篇介紹下怎么使用Gruntjs來搭建一個前端項目,然后使用grunt合并,壓縮JS文件。2014-06-06

