js字符串替换replace()实现替换全部

洼地云 tuoyidashi.png

js.jpg

有这样一段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;

赞(0)
未经允许禁止转载:优米格 » js字符串替换replace()实现替换全部

评论 抢沙发

合作&反馈&投稿

商务合作、问题反馈、投稿,欢迎联系

广告合作侵权联系

登录

找回密码

注册