请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
代码实现:
public class Solution {
public String replaceSpace(StringBuffer str) {
StringBuffer s=new StringBuffer();//新建一个字符串
String c = str.toString();//将StringBuffer类型转换为String类型
char[] ch=c.toCharArray();//将字符串转化为字符数组
for(int i=0;i<ch.length;i++) {//遍历字符数组
if(ch[i]==' ') {//将是空格的地方替换成“%20”
s.append("%20");
}else {
s.append(ch[i]);//不是空格,就保留原字符
}
}
String ss=s.toString();//将StringBuffer类型转换为String类型输出
return ss;
}
}
1、新建一个StringBuffer类型变量,用来存放新的字符串,因为这个类型的变量可以修改对象的值。
2、toCharArray():这个是将String类型的字符串转换为字符数组,所以需要将StringBuffer类型的数据先转换成String类型,再转换成字符数组。
3、遍历字符串数组,如果遇到空格,就用“%20”代替,并添加到s中,如果不是空格,就直接将字符添加到s中。
4、因为返回值是String类型,所以最后需要将StringBuffer的值转化成String类型。