假设我有一个网址
String url =“http://myweb.com/page1?param1=Financiële resultaten& param2 =consùmer”
我想要URLEncode.encode(url,“UTF-8”)这个字符串。我想只在空间和&符号(&)被编码时保持(ë和ù)不变。所以最终网址应该是
http://myweb.com/page1?param1=Financiële%20resultaten%27param2=consùmer
如何在java中实现这一点?
答案 0 :(得分:0)
首先,请记住,您应该仅使用URIEncode
来编码查询参数。所以你要编码的是'?'字符。
您的问题的另一个问题是,您实际上并不想对整个查询进行编码。因此,没有方法可以为某些特定字符对其进行编码。然后你的问题可以转换成'我怎么能用一些其他角色替换一些角色'。因此,您可能希望对要更改的字符使用replaceAll
方法,或者如果要单独编码字符则使用indexOf
方法,然后应合并。
开始使用replaceAll方法的方法如下:
String query = "page1?param1=Financiële resultaten¶m2=consùmer";
query.replaceAll("\\s+","%20");
然后字符串变为“page1?param1 =Financiële%20resultaten& param2 =consùmer”。