我有以下代码:
public class Test {
public static void main(String[] args) {
String path = "${file.path}/fld/";
String realValue = "C:\\path\\smtg\\";
String variable = "${file.path}";
path = path.replaceAll("\\$\\{" + variable.substring(2, variable.length() - 1) + "\\}", realValue);
System.out.println(path);
}
}
这给了我以下例外:
Exception in thread "main" java.lang.IllegalArgumentException: character to be escaped is missing
at java.util.regex.Matcher.appendReplacement(Matcher.java:809)
at java.util.regex.Matcher.replaceAll(Matcher.java:955)
at java.lang.String.replaceAll(String.java:2223)
at testCode.Test.main(Test.java:9)
我已经找到了一些关于这个问题的问题,但我仍然不明白这个错误。有人可以解释一下这是怎么回事吗?
我知道这replace会很好用,但不幸的是我的同事不想修改这段代码。所以我需要知道确切的问题来提供解决方案,因为在其他安装中它有效。
蓝山帝景
MMTTMM
相关分类