我写了这段代码:
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。