题目描述:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are HapWe Are Happypy.则经过替换之后的字符串为We%20Are%20Happy。
思路:从后向前遍历,应用StringBuffer;
也可以是从前向后遍历。
代码:
public class 替换空格 {
public static void main(String[] args) {
StringBuffer str = new StringBuffer();
str.append("We Are HapWe Are Happypy");
//System.out.println(str);
String result = replaceStr(str);
System.out.println(result);
}
/**
* 请实现一个函数,将一个字符串中的每个空格替换成“%20”。
* 例如,当字符串为We Are HapWe Are Happypy.则经过替换之后的字符串为We%20Are%20Happy。
* 思路:从后向前遍历
*/
public static String replaceStr(StringBuffer str){
StringBuffer result = new StringBuffer();
int n = str.length() - 1 ;
for( int i = n ; i >= 0 ; i --){
if(str.charAt(i)==' '){
result.append("02%");
}else{
result.append(str.charAt(i));
}
}
return result.reverse().toString();
}
/**
* 第二种方法
* 从前向后遍历
* @param str
* @return
*/
public static String replaceStr2(StringBuffer str){
StringBuffer result = new StringBuffer();
for( int i = 0 ; i <= str.length() - 1; i ++){
if(str.charAt(i)==' '){
result.append("%20");
}else{
result.append(str.charAt(i));
}
}
return result.toString();
}
}