我想从我的网址中删除一些查询字符串属性,我尝试了一些正则表达式但没有得到确切的解决方案。请帮我摆脱它。 例如:
String qString = "category=Popular&code=14290115";
qString = qString .replaceAll("(?<=[?&;])code=.*?($|[&;])","");
output: category=Popular&
上面的正则表达式删除了属性但没有删除 &
符号。所以请为此建议我。
最佳答案
不要为此使用正则表达式。这是一场彻头彻尾的噩梦,因为任何字符都可以进行百分比编码,例如?foo=bar
与 ?%66oo=%62ar
完全相同。解析 URL,然后是查询字符串,然后重建它。查看 Apache Commons HTTP 客户端中的 URIBuilder 和 URLEncodedUtils。
关于Java:如何从查询字符串中删除参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22603521/