问题描述:
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy. 则经过替换之后的字符串为We%20Are%20Happy。
问题分析:
法一:新建一个字符串,遇到空格时,进行替换。
法二:运行String的API进行对字符串中空格的替换。
public class Demo1 {
public static StringBuilder replace(StringBuilder b) {
StringBuilder c = new StringBuilder();
for(int i = 0; i < b.length(); i++) {
if(b.charAt(i) == ' ') {
//判断这个下标对应的元素是否为空格
c.append("%20");
}
else {
c.append(b.charAt(i));
}
}
return c;
}
public static String replace1(String b) {
b = b.replace(" ", "%20");
//法3 b = b.replaceAll(" ", "%20");
//法4 b = b.replaceAll(" +","%20");
//法5 b = b.replaceAll("\\s", "%20");
return b;
}
public static void main(String[] args) {
Scanner a = new Scanner(System.in);
String b = a.nextLine();
StringBuilder c = new StringBuilder(b);
System.out.println(replace(c));
//i%20love%20you
System.out.println(replace1(b));
//i%20love%20you
System.out.println(c);
//i love you
}
}
参考:
Java中除去空格的方法:
https://zhidao.baidu.com/question/512654118.html
java去除字符串中的空格、回车、换行符、制表符的小例子:
http://www.jb51.net/article/38912.htm