剑指Offer(字符串)-替换空格

  (替换空格)题目描述


请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。


  解决办法一:利用replace函数

  将str转为字符串后调用replace方法,将空格转为“%20”即可。需要注意的是replace方法调用的结果是返回值类型为String的结果而非void

public class Solution {
    public String replaceSpace(StringBuffer str) {
    	return str.toString().replace(" ", "%20");
    }
}

  解决办法二:利用StringBuilder来判断并append一个新的结果

  char index = str.charAt(i);利用这个方法来遍历str的每一个字符并用一个新的sbuilder来接收每一个字符,遇到空格就在后面append"%20",最后返回sbuilder.toString();

public class Solution {
    public String replaceSpace(StringBuffer str) {
	StringBuilder sbuilder = new StringBuilder();
        for(int i=0;i<str.length();i++){
            char index = str.charAt(i);
            if(index == ' '){
                sbuilder.append("%20");
            }else{
                sbuilder.append(index);
            }
        }
        return sbuilder.toString();
	}

}

  

原文地址:https://www.cnblogs.com/dashenaichicha/p/12551261.html