JS删除String里某个字符的方法
方法一 正则

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网络空间、营销软件、网站建设、武昌网站维护、网站推广。
关于JS删除String里的字符的方法,一般使用replace()方法。但是这个方法只会删除一次,如果需要将string里的所以字符都删除就要用到正则。
var str = "abcdaabbssaaa";
var reg = new RegExp("a","g");
var a = str.replace(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.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删除String里某个字符的方法
URL标题:http://www.jxjierui.cn/article/pceded.html


咨询
建站咨询
