Java:如何从查询字符串中删除参数

时间:2014-03-24 07:39:16

标签: java query-string

我想从我的网址中删除一些querystring属性,我尝试了一些正则表达式,但没有得到确切的解决方案。请帮帮我。 例如:

String qString = "category=Popular&code=14290115";
qString = qString .replaceAll("(?<=[?&;])code=.*?($|[&;])",""); 
output: category=Popular&

上面的正则表达式是删除属性但不删除&符号。所以请为此建议我。

1 个答案:

答案 0 :(得分:4)

不要使用正则表达式。这是一场彻头彻尾的噩梦,因为任何角色都可以进行百分比编码,例如: ?foo=bar?%66oo=%62ar完全相同。解析URL,然后解析查询字符串,然后重建它。从Apache Commons HTTP Client看一下URIBuilder和URLEncodedUtils。