在我的应用程序中,我想用我的字符串中的%20替换空格。我试过这样,
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");
但它不起作用请帮助我。我得到空指针异常。
答案 0 :(得分:10)
你应该这样做:
flag1 = flag1.replaceAll(" ", "%20");
首先你要放空字符串而不是空格。
第二,你必须将值返回到flag1
变量..
答案 1 :(得分:4)
在flag1.replaceAll()
中,您的空间不足。尝试:
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1 = flag1.replaceAll(" ", "%20");
并将结果设置为flag1。
答案 2 :(得分:4)
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
URI uri = null;
try {
uri = new URI(flag1.replaceAll(" ", "%20"));
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(uri);
控制台将输出显示为
http://74.208.194.142/admin/upload_image/1342594079_images%20(2).jpg
答案 3 :(得分:4)
查看http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html
不仅需要更换空白。 URL由特殊含义的特殊字符组成(例如,用于启动查询字符串的问号)
String flag1 = URLEncoder.encode("This string has spaces", "UTF-8")