题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路
因为原题给的参数是Stringbuffer,所以可以利用Stringbuffer的indexof方法得到字符串中空格的索引,然后用replace方法替代。
代码
public class Solution {
public String replaceSpace(StringBuffer str) {
int index=str.indexOf(" ");
while(index!=-1){
str.replace(index,(index+1),"%20");
index=str.indexOf(" ");
}
return str.toString();
}
}
细节知识
- 字符串的索引是从0开始的
- StringBuffer的replace方法三个参数分别是起始位置,结束位置,需要替代的字符串
- indexof方法如果找不到指定字符的索引就会返回-1