题目
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路
通过一个中间介质StringBuffer类,就可以任意插入数据。切记不能使用String,StringBuffer对象的内容可以修改,而String对象一旦产生后就不可以被修改。并且如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。最后再将StringBuffer转为String类型即可。
本题也可以不使用insert方法,使用append方法进行追加也可以。
源代码
public class Solution {
public String replaceSpace(StringBuffer str) {
// 充当中间介质
// 将替换过后的字符通过insert方法给answer
StringBuffer answer = new StringBuffer();
for(int i = 0 ; i < str.length();i++) {
if(str.charAt(i) == ' ')
answer.insert(answer.length(), "%20");
else
answer.insert(answer.length(), str.charAt(i));
}
// 因为返回值要String,所以要使用toString转字符串
return answer.toString();
}
}