执行以下行后,b
包含 value "\%AMPAMP\$"
。我希望它是"&"
。请帮忙。
String b = a.replaceAll("\%AMPAMP\$", "&");
字符串是不可变的。请参阅公共 String replaceAll(String regex,String replacement):
Returns:
The resulting String
你应该做:
a = a.replaceAll("\%AMPAMP\$", "&");
编辑:
在你说你确实保存了它之后,你现在应该注意到它replaceAll
需要一个正则表达式而不是一个字符串。您应该转义特殊字符(转义正则表达式由 完成\
,但在 Java\
中写为\\
),或使用String#quote:
a = a.replaceAll(Pattern.quote("\%AMPAMP\$"), "&");
你在这里真的不需要正则表达式。使用String#replace(String search, String replace)
方法如下:
b = a.replace("%AMPAMP$", "&");
顺便说一句String#replaceAll
,方法需要一个正则表达式,您需要使用双反斜杠来转义$
:
b = a.replaceAll("%AMPAMP\\$", "&");