如何在json解析中用android中的url替换%20空格

时间:2012-10-01 10:22:17

标签: java

在我的应用程序中,我想用我的字符串中的%20替换空格。我试过这样,

String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");

但它不起作用请帮助我。我得到空指针异常。

4 个答案:

答案 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")