如何用&?替换\?

时间:2013-06-28 19:18:49

标签: java regex

在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("&");
}

...但找不到\u0026

2 个答案:

答案 0 :(得分:7)

如果必须使用正则表达式,则必须转义Java字符串中的反斜杠。然后你必须转义两个反斜杠以进行正则表达式解释。尝试

p = Pattern.compile("\\\\u0026");

但是一个简单的replace应该足够了(它不使用正则表达式),对于Java只有一次转义的反斜杠转义:

ret = map.replace("\\u0026", "&");

答案 1 :(得分:-3)

不像

这么简单
"myid=460\u0026url=http%3A%2F%2Fr20-xxxx".replace("\u0026", "&");

工作?