String val = "some random text.CHR(10)";
val = val.replaceAll("CHR(10)", "\n");
这不是替换。我期待val的结果为“一些随机文本。\ n”我正在使用JDK 1.4。
答案 0 :(得分:3)
你没有逃脱括号:
val = val.replaceAll("CHR\\(10\\)", "\n");
或
val = val.replaceAll("CHR[(]10[)]", "\n");
或quote()
模式
val = val.replaceAll(Pattern.quote("CHR(10)"), "\n");
答案 1 :(得分:2)
请勿在此处使用replaceAll
。它需要一个正则表达式作为第一个参数。在正则表达式中,()
用于创建组。要匹配括号,您需要将其转义。
val = val.replaceAll("CHR\\(10\\)", "\n");
或者最好使用replace
:
val = val.replace("CHR(10)", "\n");
注意:好像,{1.4}中没有String.replace(CharSequence, CharSequence)
。所以,你只剩下第一个选择。