【译文】如何在JavaScript里面替换所有出现的字符串

替换字符串里面的所有发现

JavaScript的replace()方法在一个字符串里面查找一个特定值,或者正则表达式,并且返回一个新的字符串,其中找到的被替换了。但是如果一个字符串里面包含重复的词,replace()方法只改变第一个发现的词。

例子

str = "one two three one five nine";
newStr = str.replace('one', 'XXX');
alert(newStr);

允许上面的代码,脚本将返回”XXX two three one five nine”。你可以看到,第一个’one’被’XXX’替换了,而第二个’one’没有动。那么JavaScript如何替换字符串当中所有的发现呢?

使用Split()和join()替换全部发现

可以使用Split()join() 函数替换全部的发现。将字符串用指定的词利用split()打断,再用指定的替换词连接起来。

例子

str = "one two three one five nine";
newStr =  str.split("one").join("XXX");;
alert(newStr);

输出

XXX two three XXX five nine

使用正则表达式RegularExpression

例子

str = "one two three one five nine";
newStr =  replaceAll(str,'one','XXX');
alert(newStr);
function replaceAll(str, find, replace) {
    return str.replace(new RegExp(find, 'g'), replace);
}

JavaScript教程



此条目发表在博客, 服务器, 程序开发, 计算机安全分类目录,贴了, , , , , , 标签。将固定链接加入收藏夹。