方法一 正则
关于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删除字符串中的指定字符串
案例一、
比如:原字符串
var StringFirst = "12:30:08";
现在要删掉冒号,变成123008
就可以先split
var splitFirst = StringFirst.split(':');
这时候分割的每个元素分别是12 30 08,就没有冒号了,然后把这个数组连起来
var ResultString = splitFirst.join('');
连接的字符串是空的,啥都没有,也不是空格。
这样结果 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,字符
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。