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()配列から 1 つの値のみを置き換えているようです。配列のすべて/複数の値が文字列で置き換えられるようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

12

カスタム正規表現を作成するか、文字列をループして手動で置き換えます。

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

また

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

string = string.replace( regexp, '' );
于 2012-12-07T00:42:30.253 に答える
2
string.replace(new RegExp(array.join("|"), "g"), "");
于 2012-12-07T00:42:55.463 に答える