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

8

假设我有以下这段代码:

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

我想从一个字符串中清除所有这些值。
var result = string.replace(array,"");

结果将会是:The and ate the . 目前,replace() 函数只用于替换数组中的一个值。如何让它在字符串中替换所有/多个值?
感谢!

й—»иө·жқҘеғҸдҪңдёҡгҖӮеҘҪеҗ§пјҢдҪ зҡ„дҫӢеӯҗжҳҜж— ж•Ҳзҡ„пјҢиҝҗиЎҢж•°з»„иЎҢдјҡжҠӣеҮәй”ҷиҜҜгҖӮдҪ жңүдҪҝз”ЁиҝҮforеҫӘзҺҜжҲ–each()е’Ңnew RegExp()еҗ—пјҹжҸҗзӨәпјҢиҜ•иҜ•зңӢгҖӮ - epascarello
2个回答

12

你可以 创建 一个自定义的 正则表达式,或者遍历字符串并手动替换。

array.forEach(function( word ) {
    string = string.replace( new RegExp( word, 'g' ), '' );
});
或者
var regexp = new RegExp( array.join( '|' ), 'g' );

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接