将字符串拆分为数组,添加到数组然后转换回字符串
Split String to Array, add to Array then convert back to String
正在开发基于用户输入发出 HTTP 请求的 android 应用程序。
我想将以下字符串作为 HTTP 请求的一部分:
The%20Cat%20Sat
EditText 的用户输入:
The Cat Sat
我知道字符串需要拆分并放入一个数组中,但是它必须在每个输入的单词之后接受 %20,然后再转换回字符串。
任何指导都会很棒!
您可以 a) 取消转义字符串。
java.net.URLDecoder.decode("The%20Cat%20Sat", "UTF-8");
或删除 %20 并将其拆分。
String[] array = "The%20Cat%20Sat".split("%20");
然后当你取回它时
for (String str : array) {
str.replace("%20", "");
}
或全部替换并替换为 space,方法是:
"The%20Cat%20Sat".replaceAll(" ","%20");
但您应该考虑使用解码和编码,这在大多数情况下是正确的做法。
使用 URLEncoder.encode() and URLDecoder.decode() 使用户输入对于 HTTP URL 是安全的,反之亦然。请记住,您不仅要担心空格,还要担心特殊字符。 URL编码器是唯一安全的方式!
您可以将字符串中的空格替换为 %20 以获得所需的输出。
String myString = myEditText.getText().toString();
myString=myString.replaceAll(" ","%20");
你可以使用这个方法,它依赖于URLEncoder class:
public static String urlEncodeString(String s){
try {
return URLEncoder.encode(s,"UTF-8");
}
catch ( UnsupportedEncodingException e) {
return s;
}
}
正在开发基于用户输入发出 HTTP 请求的 android 应用程序。
我想将以下字符串作为 HTTP 请求的一部分:
The%20Cat%20Sat
EditText 的用户输入:
The Cat Sat
我知道字符串需要拆分并放入一个数组中,但是它必须在每个输入的单词之后接受 %20,然后再转换回字符串。
任何指导都会很棒!
您可以 a) 取消转义字符串。
java.net.URLDecoder.decode("The%20Cat%20Sat", "UTF-8");
或删除 %20 并将其拆分。
String[] array = "The%20Cat%20Sat".split("%20");
然后当你取回它时
for (String str : array) {
str.replace("%20", "");
}
或全部替换并替换为 space,方法是:
"The%20Cat%20Sat".replaceAll(" ","%20");
但您应该考虑使用解码和编码,这在大多数情况下是正确的做法。
使用 URLEncoder.encode() and URLDecoder.decode() 使用户输入对于 HTTP URL 是安全的,反之亦然。请记住,您不仅要担心空格,还要担心特殊字符。 URL编码器是唯一安全的方式!
您可以将字符串中的空格替换为 %20 以获得所需的输出。
String myString = myEditText.getText().toString();
myString=myString.replaceAll(" ","%20");
你可以使用这个方法,它依赖于URLEncoder class:
public static String urlEncodeString(String s){
try {
return URLEncoder.encode(s,"UTF-8");
}
catch ( UnsupportedEncodingException e) {
return s;
}
}