原题:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
代码Java实现一:
public class Solution {
public String replaceSpace(StringBuffer str) {
if(str==null)
{return null;}
StringBuilder str2=new StringBuilder(); //此处的定义,str2长度可变,因此创建对象StringBuilder
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' ')
{
str2.append("%");
str2.append("2");
str2.append("0");
}
else{
str2.append(str.charAt(i));
}
}
return str2.toString();//思考:为什么要用toString ,不用toStirng 会报不兼容的错误
}
}
实现二:
function replaceSpace(str)
{
return
str.replace(/\s/g,
'%20'
)
}
学习笔记
关于String StringBuffer 与StringBuilder
String 一般用于长度固定的对象;
StringBuilder;一般用于处理单线程;
StringBuffer:一般用于处理多线程;
StringBuilder 被设计为与StringBuffer具有相同的操作接口。