执行以下行后,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\\$", "&");