题目描述:
请实现一个函数,将一个字符串中的空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Offer02
{//可以在StringBuffer上直接操作,如replaceSpace2
//也可以用StringBuffer生成字符串,如replaceSpace
//查看java文档发现,应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。
public static void main(String[] args)
{
StringBuffer str = new StringBuffer("We Are Happy.");
String str2 = replaceSpace2(str);
}
public static String replaceSpace(StringBuffer str)
{
StringBuilder strb = new StringBuilder();
for (int i = 0; i < str.length(); i++)
{
if (str.charAt(i) != ' ')
strb.append(str.charAt(i));
else
strb.append("%20");
}
return strb.toString();
}
public static String replaceSpace2(StringBuffer str)
{
for (int i = 0; i < str.length(); i++)
{
System.out.println("i = "+i+" "+str.toString());
if (str.charAt(i) == ' ')
{
str.replace(i, i + 1, "%20");
i+=2;
}
}
return str.toString();
}
}