在具有元字符的java中替换字符串

时间:2013-03-22 19:58:11

标签: regex string replace metacharacters

我有两个字符串,想要从另一个字符串中替换一个字符串。问题是字符串有元字符。

E.g。

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")转义字符,但在这种情况下,有许多元字符。

感谢。

1 个答案:

答案 0 :(得分: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.