题目:
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy。则经过替换之后的字符串为We%20Are%20Happy。
拓展:
在网络编程中,如果URL参数中含有特殊的字符,比如空格、“#”,则能导致服务器端无法获得正确的参数值。
将这些特殊字符转换成服务端可以识别的字符。转换规则通常是,“%”后加上特殊字符的16进制
如空格--> %20
如 “#”--> %23
重新开辟一个字符串,不是空格的字符就直接追加到新字符串上。
思路2:
直接用字符串的替换方法用“%20”替换掉"空格"
public class T5 {
//思路1:
public static String replaceSpace(StringBuffer str) {
StringBuilder res = new StringBuilder();
if (str == null || str.equals(""))
return res.toString();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == ' ')
res = res.append("%20");
else
res = res.append(str.charAt(i));
}
return res.toString();
}
//思路2:
public static String replaceSpace2(StringBuffer str) {
if (str == null || str.equals(""))
return str.toString();
return str.toString().replaceAll(" ","%20");
}
public static void main(String[] args) {
StringBuffer str = new StringBuffer(" We Are Hap py. ");
System.out.println(replaceSpace2(str));
}
}