package javaOffer;
public class o02_replaceSpace {
public static void main(String[] args){
StringBuffer str=new StringBuffer(" 12 ab cd e f g");
String str1="a b ccd ef g ";
System.out.println(replace1(str));
System.out.println(replace(str1));
}
//使用StringBuffer后 直接可进行类似数组的操作,无需再进行转换
public static String replace1(StringBuffer str){
if(str==null){
return null;
}
StringBuilder newStr = new StringBuilder();
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' '){
newStr.append("%20");
// newStr.append('2');
// newStr.append('0');
}else{
newStr.append(str.charAt(i));
}
}
return newStr.toString();
}
//这种方式还需要进行一次转换,直接使用StringBuffer就无需转换
public static String replace(String str){
char []ch= str.toCharArray();
StringBuilder ss=new StringBuilder();
for(int i=0;i<ch.length;i++){
if(ch[i]==' '){
ss.append("%20");
}else{
ss.append(ch[i]);
}
}
return ss.toString();
}
}