字符串替换全部不起作用

时间:2013-07-10 19:02:16

标签: java string replace

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

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

2 个答案:

答案 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)。所以,你只剩下第一个选择。