Jquery:用数组中的值替换字符串

时间:2012-12-07 00:39:58

标签: javascript jquery arrays replace

说我有这样的事情:

var array = [cat,dog,fish];
var string = 'The cat and dog ate the fish.';

我想从字符串中清除所有这些值

var result = string.replace(array,"");

结果将最终成为:The and ate the .

现在,replace()似乎只是从数组中替换了一个值。如何才能使数组中的所有/多个值都替换为字符串?

谢谢!

2 个答案:

答案 0 :(得分:10)

创建自定义 regexp ,或者循环遍历字符串并手动替换。

array.forEach(function( word ) {
    string = string.replace( new RegExp( word, 'g' ), '' );
});

var regexp = new RegExp( array.join( '|' ), 'g' );

string = string.replace( regexp, '' );

答案 1 :(得分:2)

string.replace(new RegExp(array.join("|"), "g"), "");