用Java中的值替换变量

时间:2013-01-07 12:25:15

标签: java string replace

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

2 个答案:

答案 0 :(得分:2)

String.replaceAll()接受regular expression作为参数,$具有特殊含义。只需用\:

来逃避美元符号
myString.replaceAll("\\$variable\\$", replacement);

答案 1 :(得分:2)

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

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

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