将String String拆分为Array,添加到Array然后转换回String

时间:2015-04-02 17:16:39

标签: android arrays json string split

使用基于用户输入发出HTTP请求的Android应用程序。

我希望在HTTP请求中实现以下String:

The%20Cat%20Sat

EditText的用户输入:

The Cat Sat

我理解字符串需要拆分并放入一个数组中,但是在每个输入的单词之后它必须接受%20,然后再转换回字符串。

任何指导都会很棒!

4 个答案:

答案 0 :(得分:1)

您可以使用此方法,它依赖于URLEncoder类:

public static String urlEncodeString(String s){
   try {
       return URLEncoder.encode(s,"UTF-8");
   }
   catch (  UnsupportedEncodingException e) {
       return s;
   }
}

答案 1 :(得分:0)

你可以a)unescape字符串。

java.net.URLDecoder.decode("The%20Cat%20Sat", "UTF-8");

或删除%20并将其拆分。

String[] array = "The%20Cat%20Sat".split("%20");

然后当你回来时

for (String str : array) {
    str.replace("%20", "");
}

或替换all并使用以下内容替换空格:

"The%20Cat%20Sat".replaceAll(" ","%20");

但你应该考虑使用解码和编码,这在大多数情况下是正确的方式。

答案 2 :(得分:0)

使用URLEncoder.encode()URLDecoder.decode()使HTTP URL的用户输入安全,反之亦然。记住它不仅是你必须担心的空间,而是特殊的角色。 URLEncoder是唯一安全的方法!

答案 3 :(得分:0)

您可以用%20替换字符串的空格以获得所需的输出。

String myString = myEditText.getText().toString();
myString=myString.replaceAll(" ","%20");