String val = "some random text.CHR(10)";
val = val.replaceAll("CHR(10)", "\n");
这不是替换。我期待 val 的结果为“一些随机文本。\n”我使用的是 JDK 1.4。
你没有逃避括号:
val = val.replaceAll("CHR\\(10\\)", "\n");
或者
val = val.replaceAll("CHR[(]10[)]", "\n");
或quote()
图案
val = val.replaceAll(Pattern.quote("CHR(10)"), "\n");
不要replaceAll
在这里使用。它需要一个正则表达式作为第一个参数。在正则表达式()
中,用于创建组。要匹配括号,您需要对其进行转义。
val = val.replaceAll("CHR\\(10\\)", "\n");
或者最好使用replace
:
val = val.replace("CHR(10)", "\n");
注意:似乎String.replace(CharSequence, CharSequence)
Java 1.4 中没有。因此,您只剩下第一个选项。