Java 字符串替换全部和替换第一个在替换文本处以 $ 符号失败
我写了这个代码:
public static void main(String args[]) throws Exception {
String template = "The user has spent amount in a day";
String pattern = "amount";
String output = template.replaceAll(pattern, "$ 100");
System.out.println(output);
}
这是我运行它时发生的情况:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal group reference
at java.util.regex.Matcher.appendReplacement(Matcher.java:713)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2190)
at demo.BugDemo.main(BugDemo.java:16)
Java Result: 1
我正在从文件中读取数据。我应该转义文件数据中的所有符号,还是这是一个不必要的过程?是否有任何其他类或库来处理这种情况?$
在替换文本(而不是正则表达式中)中使用特殊符号有什么问题?
笔记:
我不想检查每个角色来逃避。这就是为什么我要问这个问题。
我使用的是Java 6。