有这样一段js代码:
var str = "男的女的老的少的";
alert(str.replace('的',''));
你原来的意思是想将str中的所有“的”替换为空字符串,结果发现上述代码的执行结果是:
var str = "男的女的老的少的";
alert(str.replace('的',''));
alert: 男女的老的少的
也就是说只替换了第一个。遗憾的是JS中并没有你想的replaceAll()这样的方法,实现replaceAll()的解决办法如下:
var str = "男的女的老的少的";
alert(str.replace(new RegExp(/(的)/g),''));
执行结果:
var str = "男的女的老的少的";
alert(str.replace(new RegExp(/(的)/g),''));
alert: 男女老少
以上实现了字符串的全部替换,但这种正则表达式是有局限的,匹配的是一些特定的字符串,如何匹配动态的字符串呢?
var str = "男的女的老的少的";
var replaceStr = "的";
alert(str.replace(new RegExp(replaceStr,'gm'),''));
这样我们就完成了匹配字符串的动态赋值。
另外还有其他的方法实现全部替换:
var str = "男的女的老的少的";
var replaceStr = "的";
alert(str.split(replaceStr).join(''));
参考:
1.http://www.cnblogs.com/shuaisam/archive/2012/04/12/2442741.html;
最新评论
请问苹果手机怎么安卓,有偿请问
开通后,可以投资美股吗?
只能打开两个 剩下的都打不开 是不是都要翻墙啊
很多网站都打不开,能打开的网站查到的信息有限