关于JS删除字符串里的字符的方法,一般使用替代()方法。但是这个方法只会删除一次,如果需要将字符串里的所以字符都删除就要用到正则。
var str=" abcdaabbssaaa”; var reg=new RegExp (“a”,“g”); var=str.replace (reg”、“);console.log(一个);
这里用新的正则表达式()这个方法创建正,则第一个参数“a”指定了正则表达式的模式或其他正则表达式。后一个参数是一个可选的字符串,包含属性“g”,“我”和“m”,分别用于指定全局匹配,区分大小写的匹配和多行匹配.ECMAScript标准化之前,不支持m属性。如果模式是正则表达式,而不是字符串,则必须省略该参数。
如果打印reg的结果是://g。
还有一种比较取巧的方法,就是分割成数组,再重新拼接成新的字符串。
var str=" abcdaabbssaaa”; var=str.split (“a”) . join (" ");console.log(一个);
我测试了一下这两种方式的性能,选取了一个长度为133的字符串,其中要删除的字符有28个,两种方法的用时如下表:
使用正则 分割成数组 11.674毫秒 6.569毫秒 8.683毫秒 6.727毫秒 5.802毫秒 12.309毫秒 4.492毫秒 8.456毫秒 3.921毫秒 6.481毫秒 3.766毫秒 4.275毫秒 6.472毫秒 2.985毫秒 14.631毫秒 15.029毫秒 6.985毫秒 8.523毫秒 9.835毫秒 7.063毫秒
使用正则删除字符的,最慢14.631女士,最快3.766毫秒,平均7.6261毫秒
使用第二种方法,最慢15.029女士,最快2.985毫秒,平均7.8417毫秒
对比发现,还是用正则快一点吧~ ~而且感觉高大上~ ~ ~