实现一个方法,把字符串中的空格替换为”%20”。例如:
输入:”I like this”,输出:”I%20like%20this”。
在网络编程中,如果URL参数中含有特殊字符,如空格、’#’等,可能导致服务器端无法获取正确的参数值。我们需要将这些参数转换成服务器可以识别的字符。转换的规则是在’%’后面跟上ASCII码的两位十六进制的表示。比如空格的ASCII码是32,它的十六进制表示为0X20,因此空格被替换为%20。再比如’#’的ASCII码是35,它的十六进制表示为0x23,它在URL中被替换为”%23”。
思路:
1.遍历这个字符串,每当遇到空格,就替换为”%20”;
2.使用Java的库函数public String replaceAll(String regex, String replacement)。
代码实现:
1.遍历这个字符串:
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = sc.nextLine();
String newStr = replaceSpace(str);
System.out.println(newStr);
}
public static String replaceSpace(String str) {
String newStr = "";
for(int i=0;iif(str.charAt(i)==' ') {
newStr = newStr + "%20";
} else {
newStr = newStr + str.charAt(i);
}
}
return newStr;
}
}
2.使用Java库函数:
public class Test2 {
public static void main(String[] args) {
String s = "I like this";
System.out.println(s.length());
String newS = s.replaceAll(" ", "%20");
System.out.println(newS);
}
}