1

我有一个包含某些变量的字符串,例如"This is string containing $variable$". 我想$variable$用一个新字符串替换它。如果我使用 replaceall 方法,就像str.replaceall("$variable$","new_value")它没有被替换一样。但如果我给出没有$符号,它就是替换。但我的输出是这样的,$new_value$. 我需要它没有$符号。

4

2 回答 2

2

String.replaceAll() 将正则表达式作为参数,其中 $ 具有特殊含义。只需使用 \ 转义美元符号:

myString.replaceAll("\\$variable\\$", replacement);
于 2013-01-07T12:30:15.520 回答
2

尝试使用String.replace(CharSequence, CharSequence)

str.replace("$variable$","new_value");

因为String.replaceAll()需要一个正则表达式作为第一个参数,而正则表达式上的$字符代表“在字符串末尾匹配”

于 2013-01-07T12:30:52.927 回答