题目描述:
请实现一个函数,将一个字符串中的空格替换成“%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();
}
}
字符串空格替换方法
本文介绍了一种将字符串中的空格替换为“%20”的方法,并提供了两种不同的实现方式:一种是通过StringBuilder来构建新的字符串;另一种是在原有的StringBuffer上进行替换。这两种方法各有优劣,前者适用于不可修改原始字符串的情况,而后者则更节省空间。
353

被折叠的 条评论
为什么被折叠?



