Java 如何在replaceAll中的值中转义$

Java 如何在replaceAll中的值中转义$,java,Java,比如说 String updateValue(String value) { return "PLACEHOLDER PLACEHOLDER".replaceAll("PLACEHOLDER", value); } updateValue("$3"); 预期输出为$3$3,但它将抛出错误java.lang.IndexOutOfBoundsException:由于字符$,没有组3。如何更新函数updateValue,以便输出预期结果

比如说

String updateValue(String value) {
return "PLACEHOLDER PLACEHOLDER".replaceAll("PLACEHOLDER", value);
}

updateValue("$3");
预期输出为
$3$3
,但它将抛出错误
java.lang.IndexOutOfBoundsException:由于字符
$
,没有组3
。如何更新函数
updateValue
,以便输出预期结果

这是我试过的

String updateValue(String value) {
return "PLACEHOLDER PLACEHOLDER".replaceAll("PLACEHOLDER", value.replaceAll("\\$", "\\\\$"));
}
但它不起作用,获取错误
非法组引用:组索引丢失

占位符占位符.replaceAll(“占位符”,“\\$3”)


工作

由于搜索字符串未使用正则表达式,您可以使用标准的搜索和替换调用
字符串。替换
。然后,不需要转义替换模式:

"PLACEHOLDER PLACEHOLDER".replace("PLACEHOLDER", "$3");
==> "$3 $3"

System.out.println(“占位符占位符”.replaceAll(“占位符”,“\\$3”)谢谢!我刚刚更新了问题,你能再检查一下吗?
System.out.println(updateValue(\\$3))谢谢!我刚刚更新了问题,你能再检查一下吗?
"PLACEHOLDER PLACEHOLDER".replace("PLACEHOLDER", "$3");
==> "$3 $3"