【问题标题】:How to replace " " with %20 in android如何在android中用%20替换“”
【发布时间】:2014-02-06 13:56:39
【问题描述】:

我在 android 中做一个服务调用功能。 在以下 URL(String) 中,我需要将 " "(space) 替换为 %20

http://dli.ircms.in/complaint.php?complaintno=sarojininagar/06022014/4

我试过了

URl.replace(" ", "%20")
URl.replaceAll(" ", "%20")
URL sourceUrl = new URL(url);
url = URLDecoder.decode(url, "UTF-8");

但它没有改变我不知道为什么。

请帮帮我..

【问题讨论】:

    标签: java android url androidhttpclient


    【解决方案1】:

    使用URLDecoder,它不起作用,因为您必须编码,而不是解码:

    url = URLEncoder.encode(url, "UTF-8");
    

    对于您发布的其他示例,您需要重新分配字符串:

    url = url.replace(" ", "%20");
    url = url.replaceAll(" ", "%20");
    

    正如 Petter 所指出的,URLEncoder.encode 将添加 + 而不是 %20。这就是 URLEncoder 的工作原理,但您可以使用

    url = URLEncoder.encode(url, "UTF-8").replace("+","%20");
    

    让它随心所欲地工作。

    另一种选择是使用Uri 类:

    String url = "http://dli.ircms.in/complaint.php";
    url = Uri.parse(url).buildUpon().appendQueryParameter("complaintno","sarojini nagar/06022014/4").build().toString();
    

    结果:

    http://dli.ircms.in/complaint.php?complaintno=sarojini%20nagar%2F06022014%2F4
    

    【讨论】:

    • 是的,我重新分配了它。但不会改变。
    • @user2085965 那是不可能的。请发布更新的代码。
    • @user2085965 现在试试,它对我有用(在安卓设备上测试)
    【解决方案2】:

    你应该使用 URLEncoder:

    String url = URLEncoder.encode(url, "UTF-8");
    

    【讨论】:

      【解决方案3】:

      如果您以字符串形式使用 url,则字符串是不可变的,因此您必须将替换的字符串分配给新字符串。

      String url = theOriginalUrlString.replaceAll(" ", "%20");
      

      替换反映在新字符串中。

      【讨论】:

        【解决方案4】:

        试试这个:

        String url = "http://test.com/this is a test";
        System.out.println(url);
        url = url.replace(" ", "%20");
        System.out.println(url);
        

        或:

        String url = URLEncoder.encode(url, "UTF-8");
        

        应该是编码而不是解码。

        【讨论】:

          猜你喜欢
          • 2012-01-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-03
          • 2021-07-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多