JS删除String里某个字符的方法
方法一正则
关于JS删除String里的字符的方法,一般使用replace()方法。但是这个方法只会删除一次,如果需要将string里的所以字符都删除就要用到正则。
varstr="abcdaabbssaaa";
varreg=newRegExp("a","g");
vara=str.replace(reg,"");
console.log(a);
这里用newRegExp()这个方法创建正则,第一个参数“a”指定了正则表达式的模式或其他正则表达式。后一个参数是一个可选的字符串,包含属性"g"、"i"和"m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript标准化之前,不支持m属性。如果pattern是正则表达式,而不是字符串,则必须省略该参数。
如果打印reg的结果是:/a/g。
方法二分隔成数组
还有一种比较取巧的方法,就是分割成数组,再重新拼接成新的字符串。
varstr="abcdaabbssaaa";
vara=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删除字符串中的指定字符串
案例一、
比如:原字符串
varStringFirst="12:30:08";
现在要删掉冒号,变成123008
就可以先split
varsplitFirst=StringFirst.split(':');
这时候分割的每个元素分别是123008,就没有冒号了,然后把这个数组连起来
varResultString=splitFirst.join('');
连接的字符串是空的,啥都没有,也不是空格。
这样结果ResultString就成了123008
案例二、
比如,原字符串
str='btn_text,other_call,start_place,estimate_price,select_contacts,payment,remark'
可以先转换为数组,然后再从数组中移除
vararr=str.split(',');
arr.splice($.inArray('要移除的字符串',arr),1);
到此这篇关于JS删除String里某个字符的方法的文章就介绍到这了,更多相关JS删除String里某个字符的方法内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!