Я написал этот код:
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.