0
String val = "some random text.CHR(10)";
val = val.replaceAll("CHR(10)", "\n");

这不是替换。我期待 val 的结果为“一些随机文本。\n”我使用的是 JDK 1.4。

4

2 回答 2

3

你没有逃避括号:

val = val.replaceAll("CHR\\(10\\)", "\n");

或者

val = val.replaceAll("CHR[(]10[)]", "\n");

quote()图案

val = val.replaceAll(Pattern.quote("CHR(10)"), "\n");
于 2013-07-10T19:03:48.507 回答
2

不要replaceAll在这里使用。它需要一个正则表达式作为第一个参数。在正则表达式()中,用于创建组。要匹配括号,您需要对其进行转义。

val = val.replaceAll("CHR\\(10\\)", "\n");

或者最好使用replace

val = val.replace("CHR(10)", "\n");

注意:似乎String.replace(CharSequence, CharSequence)Java 1.4 中没有。因此,您只剩下第一个选项。

于 2013-07-10T19:03:09.140 回答