JS刪除String里某個(gè)字符的方法
方法一 正則
關(guān)于JS刪除String里的字符的方法,一般使用replace()方法。但是這個(gè)方法只會(huì)刪除一次,如果需要將string里的所以字符都刪除就要用到正則。
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ū)分大小寫(xiě)的匹配和多行匹配。ECMAScript 標(biāo)準(zhǔn)化之前,不支持 m 屬性。如果 pattern 是正則表達(dá)式,而不是字符串,則必須省略該參數(shù)。
如果打印reg的結(jié)果是: /a/g 。
方法二 分隔成數(shù)組
還有一種比較取巧的方法,就是分割成數(shù)組,再重新拼接成新的字符串。
var str = "abcdaabbssaaa";
var a = str.split("a").join("");
console.log(a);
我測(cè)試了一下這兩種方式的性能,選取了一個(gè)長(zhǎng)度為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
對(duì)比發(fā)現(xiàn),還是用正則快一點(diǎn)吧~~而且感覺(jué)高大上~~~
下面是補(bǔ)充
Js刪除字符串中的指定字符串
案例一、
比如:原字符串
var StringFirst = "12:30:08";
現(xiàn)在要?jiǎng)h掉冒號(hào),變成123008
就可以先split
var splitFirst = StringFirst.split(':');
這時(shí)候分割的每個(gè)元素分別是12 30 08,就沒(méi)有冒號(hào)了,然后把這個(gè)數(shù)組連起來(lái)
var ResultString = splitFirst.join('');
連接的字符串是空的,啥都沒(méi)有,也不是空格。
這樣結(jié)果 ResultString 就成了 123008
案例二、
比如,原字符串
str = 'btn_text,other_call,start_place,estimate_price,select_contacts,payment,remark'
可以先轉(zhuǎn)換為數(shù)組,然后再?gòu)臄?shù)組中移除
var arr = str.split(',');
arr.splice($.inArray('要移除的字符串',arr),1);
到此這篇關(guān)于JS刪除String里某個(gè)字符的方法的文章就介紹到這了,更多相關(guān)JS刪除String里某個(gè)字符的方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js閉包所用的場(chǎng)合以及優(yōu)缺點(diǎn)分析
這篇文章主要介紹了js閉包所用的場(chǎng)合以及優(yōu)缺點(diǎn)分析,十分的詳細(xì)使用,有需要的小伙伴可以參考下。2015-06-06
ES6基礎(chǔ)之解構(gòu)賦值(destructuring assignment)
這篇文章主要介紹了ES6基礎(chǔ)之解構(gòu)賦值(destructuring assignment),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
Javascript實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Js 本頁(yè)面?zhèn)髦祵?shí)現(xiàn)代碼
記得以前在學(xué)校的時(shí)候,例如要修改信息,需要要修改的部分的值顯示出來(lái),都是先把數(shù)據(jù)傳到后臺(tái),然后再在前臺(tái)顯示的,想想真夠笨的,這個(gè)可以在客戶(hù)端就實(shí)現(xiàn)的,何必要傳到后臺(tái)呢2009-05-05
javascript 動(dòng)態(tài)生成私有變量訪問(wèn)器
創(chuàng)建一個(gè)新的用戶(hù)對(duì)象,接受一個(gè)有許多屬性的對(duì)象作為參數(shù)2009-12-12
使用GruntJS構(gòu)建Web程序之構(gòu)建篇
前一篇記錄了Grunt的安裝,這篇介紹下怎么使用Gruntjs來(lái)搭建一個(gè)前端項(xiàng)目,然后使用grunt合并,壓縮JS文件。2014-06-06

