请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
方法一 :使用String 的replace 方法
public static String replaceSpace(String str) {
return str.replace(" ", "%20");
}
因为此题规定传入的是stringBuffer 类型的数据 ,因此此方法行不通。
方法二:将 StringBuffer先转换成String 再使用上述方法
public static String replaceSpace(String str) {
return str.replace(" ", "%20");
}
方法三:StringBuffer>String>Char[] 通过数组进行遍历,然后存放于StringBuilder数据中。
public String replaceSpace1(StringBuffer str) {
char[] c=str.toString().toCharArray();//stringBuffer>String>char[]
StringBuilder sb=new StringBuilder();
for(char i=0;i<c.length;i++){
if(c[i]==' '){
sb.append("%20");
}else{
sb.append(c[i]);
}
}
return sb.toString();
}
字符数组的遍历还可以是for(char i :c)
总结 一下上述三种类型。