JS删除String⾥某个字符的⽅法
⽅法⼀正则
关于JS删除String⾥的字符的⽅法,⼀般使⽤replace()⽅法。但是这个⽅法只会删除⼀次,如果需要将string⾥的所以字符都删除就要⽤到正则。
var str = "abcdaabbssaaa";
var reg = new RegExp("a","g");
var a = place(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.674ms6.569ms
8.683ms  6.727ms
5.802ms12.309ms
4.492ms8.456ms
3.921ms  6.481ms
3.766ms
4.275ms
6.472ms  2.985ms
14.631ms15.029ms
6.985ms8.523ms
9.835ms7.063ms
使⽤正则删除字符的,最慢14.631ms,最.766ms,平均7.6261ms
使⽤第⼆种⽅法,最慢15.029ms,最快2.985ms,平均7.8417ms
对⽐发现,还是⽤正则快⼀点吧~~⽽且感觉⾼⼤上~~~
下⾯是补充
Js删除字符串中的指定字符串
案例⼀、
⽐如:原字符串
var StringFirst = "12:30:08";
现在要删掉冒号,变成123008
就可以先split
var splitFirst = StringFirst.split(':');
这时候分割的每个元素分别是12 30 08,就没有冒号了,然后把这个数组连起来
var ResultString = splitFirst.join('');
连接的字符串是空的,啥都没有,也不是空格。
js在字符串中添加字符这样结果 ResultString 就成了 123008
案例⼆、
⽐如,原字符串
str = 'btn_text,other_call,start_place,estimate_price,select_contacts,payment,remark'
可以先转换为数组,然后再从数组中移除
var arr = str.split(',');
arr.splice($.inArray('要移除的字符串',arr),1);
到此这篇关于JS删除String⾥某个字符的⽅法的⽂章就介绍到这了,更多相关JS删除String⾥某个字符的⽅法内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!