字符串空格更换函数(将一个字符串中的空格替换成“**”)
<来自剑指Offer>
输入:一个字符串
输出:空格替换成“**”的字符串,非空字符串部分维持不变
例如:当字符串为We Are Happy.则经过替换之后的字符串为We**Are**Happy
给出两种思路:
1.直接利用java中的库函数,代码非常简洁
String replaceSpace(StringBuffer str)
{
return str.toString().replaceAll("\\s","%20");
}
2.利用字符串的读出和字符串流的写入
step1:新建字符串用来存放输入
step2:新建字符串流,用于写入更新后的输出
step3:遍历字符串,更换空字符,存入新的
字符串流
step4:非空字符保持原状,存入
新的
字符串流
last: 转换输出
String solve(StringBuffer str) {
String string = str.toString(); //新建字符串用来存放输入
StringBuffer buffer = new StringBuffer();//新建字符串流,用于写入更新后的输出
for(int i = 0; i < string.length(); i++){
if(string.charAt(i) == ' '){ //更换空字符
buffer.append("**");
}else {
buffer.append(str.charAt(i)); //非空字符保持原状
}
}
return buffer.toString(); //输出字符串
}