问题描述: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路:
- 方法一:使用String类中的replace()方法将空格替换为“%20”。
- 方法二:开辟一个新数组,对原字符串进行遍历,当指向字符非空格时,追加到数组末尾,否则追加“%20”。
代码:
- 方法一:
public class Replace {
public static String replaceSpace(StringBuffer str) {
String s = str.toString();
return s.replace(" ", "%20");
}
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer("We Are Happy.");
System.out.println(replaceSpace(buffer));
}
}
- 方法二:
import java.util.*;
public class Replace2 {
public String replaceSpace(StringBuffer str) {
StringBuilder sb = new StringBuilder();
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
if(c == ' '){
sb.append("%20");
}else{
sb.append(c);
}
}
return sb.toString();
}
}