解法一:
思路:可以先把stringbuffer类型转化为string,然后利用string类的函数replace来解决,代码实现:
public class Solution {
public String replaceSpace(StringBuffer str){
String aString=str.toString();
aString=aString.replace(" ","%20");
return aString;
}
public static void main(String [] args) {
String a;
StringBuffer stringBuffer=new StringBuffer("we are happy");
Solution solution=new Solution();
a=solution.replaceSpace(stringBuffer);
System.out.println(a);
}
}
解法二:
思路:按照stringbuffer来求解,最后把返回值转化为string类型的,这样速度更快。由于string,stringbuffer和stringbuilder都可以处理字符串,但是string处理是新建了string对象,而其余两个则是在原来的技术上操作,代码实现:
public class Solution {
public String replaceSpace(StringBuffer str){
int i;
char a;
String aString;
StringBuffer tBuffer =new StringBuffer();
for(i=0;i<str.length();i++){
a=str.charAt(i);
if(a==' '){
tBuffer.append("%20");
continue;
}
tBuffer.append(a);
}
aString=tBuffer.toString();
return aString;
}
public static void main(String [] args) {
String a;
StringBuffer stringBuffer=new StringBuffer("we are happy");
Solution solution=new Solution();
a=solution.replaceSpace(stringBuffer);
System.out.println(a);
}
}
本文介绍两种方法实现将字符串中的空格替换为'%20'。第一种方法是使用String的replace函数,另一种是利用StringBuffer进行操作,后者在性能上更优。

3138

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



