剑指offer--02.替换字符串中的空格

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

思路
不考虑现有的replace方法的话,
两个问题:

  1. 在现有字符串上替换还是另起一个
  2. 从前往后插入还是从后往前,从前往后移动次数多
    replace和replaceAll区别:
    replace(CharSequence target,CharSequence replacement)
    replaceAll(String regex,String replacement)
public class Solution {
    public String replaceSpace(StringBuffer str) {
        return str.toString().replace(" ", "%20");;
    }
}

不使用replace方法的话:

    public String replaceSpace(StringBuffer str) {
        if (null == str) {
            return null;
        }
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < str.toString().length(); i++) {
            char temp = str.charAt(i);
            // 这里要注意的是char类型的temp不能直接和字符串类型的" "比较
            if (" ".equals(String.valueOf(temp))) {
                sb.append("%20");
            } else {
                sb.append(temp);
            }
        }
        return sb.toString();
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容