Java replaceAll不适用于以下查询

Java replaceAll不适用于以下查询,java,Java,执行下一行后,b包含值“\%AMPAMP\$”。我希望它是“&”。请帮忙 String b = a.replaceAll("\%AMPAMP\$", "&"); 字符串是。请参见: 你应该做: a = a.replaceAll("\%AMPAMP\$", "&"); 编辑: 在您说您确实保存了它之后,您现在应该注意到replaceAll接受的是regex,而不是字符串。您应该转义(转义正则表达式由\完成,但在Java中\写为\),或者使用: 在这里你真的不需要正则表达式。

执行下一行后,
b
包含值
“\%AMPAMP\$”
。我希望它是
“&”
。请帮忙

String b = a.replaceAll("\%AMPAMP\$", "&"); 
字符串是。请参见:

你应该做:

a = a.replaceAll("\%AMPAMP\$", "&");

编辑

在您说您确实保存了它之后,您现在应该注意到
replaceAll
接受的是regex,而不是字符串。您应该转义(转义正则表达式由
\
完成,但在Java中
\
写为
\
),或者使用:


在这里你真的不需要正则表达式。使用如下方法:

b = a.replace("%AMPAMP$", "&");
顺便说一句,String#replaceAll方法需要一个正则表达式,其中需要使用双反斜杠来转义
$

b = a.replaceAll("%AMPAMP\\$", "&");

你的问题不准确a中包含了什么?你想用正则表达式“\%AMPAMP\$”表示什么?很抱歉,我已经保存了它。你的意思是我必须做\&而不是&@niknik123是的。这个斜杠是为了逃避它。@WilliamFox非常感谢:)我很荣幸。@niknik123是的。但在Java中,\写为\\。
b = a.replace("%AMPAMP$", "&");
b = a.replaceAll("%AMPAMP\\$", "&");