在我的应用程序中,我想用字符串中的 %20 替换空格。我尝试过这种方式,
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");
但它不起作用请帮助我。我收到空指针异常。
在我的应用程序中,我想用字符串中的 %20 替换空格。我尝试过这种方式,
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");
但它不起作用请帮助我。我收到空指针异常。
你应该这样做:
flag1 = flag1.replaceAll(" ", "%20");
首先,您放置的是空字符串而不是空格..其次,您必须将值返回到flag1
变量中..
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
看看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")
在flag1.replaceAll()
中,您的空间丢失。尝试:
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1 = flag1.replaceAll(" ", "%20");
并将结果设置为 flag1。