在Java中,我需要改变这个:
myid=460\u0026url=http%3A%2F%2Fr20-xxxx
......对此:
myid=460&url=http%3A%2F%2Fr20-xxxx
这是我尝试过的:
String map = "myid=460\\u0026url=http%3A%2F%2Fr20-xxxx";
p = Pattern.compile("\\u0026");
m = p.matcher(map);
if (m.find()) {
String ret = m.replaceAll("&");
}
Run Code Online (Sandbox Code Playgroud)
......但是找不到了\u0026.
如果必须使用正则表达式,则必须转义Java字符串中的反斜杠.然后你必须转义两个反斜杠以进行正则表达式解释.尝试
p = Pattern.compile("\\\\u0026");
Run Code Online (Sandbox Code Playgroud)
但是replace对于Java来说,一个简单的应该就足够了(它不使用正则表达式),只有一次迭代转义为反斜杠:
ret = map.replace("\\u0026", "&");
Run Code Online (Sandbox Code Playgroud)