【发布时间】:2013-12-09 13:52:17
【问题描述】:
我想替换查询字符串值,但它会产生一些问题:
问题1:替换后去掉“&”符号
String queryString = "?pid=1&name=Dell&cid=25";
String nQueryString=queryString.replaceAll("(?<=[?&;])pid=.*?($|[&;])","pid=23");
System.out.println(nQueryString);
上面例子的输出
?pid=23name=Dell&cid=25
你可以看到它删除了pid之后的“&”
问题 2:如果我删除了“?”,它就不起作用了来自queryString 变量的符号。
String queryString = "pid=1&name=Dell&cid=25";
String nQueryString=queryString.replaceAll("(?<=[?&;])pid=.*?($|[&;])","pid=23");
System.out.println(nQueryString);
上面例子的输出
?pid=1&name=Dell&cid=25
我们可以说正则表达式不起作用,所以任何人都可以建议我更好的正则表达式,它完全满足我的要求。
【问题讨论】:
标签: java regex query-string