0

2 つの文字列があり、1 つの文字列を別の文字列から置き換えたいと考えています。問題は、文字列にメタ文字が含まれていることです。

例えば

String string1 = "I am foo";
String string2 = "I am bar and I am foo. I am both.";
string2 = string2.replaceAll(string1, ""); does the replacement.

次の文字列があるとします。

String string1 = "I + am - foo [].";
String string2 = "I + am bar and I + am - foo []. I am both.";

Then the answer should be : "I + am bar and I am both."

どうすれば交換できますか?文字をエスケープすることは知っ java.util.regex.Pattern.quote("xyz")ていますが、この場合、多くのメタ文字があります。

ありがとう。

4

1 に答える 1

0

あなたはすでに答えを持っているようです:

String string1 = "I + am - foo [].";
String string2 = "I + am bar and I + am - foo []. I am both.";
System.out.println(string2.replaceAll(Pattern.quote(string1), ""));

出力:

I + am bar and  I am both.
于 2013-03-22T20:03:31.943 に答える