前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >剑指Offer-替换空格

剑指Offer-替换空格

作者头像
武培轩
发布2018-04-18 17:00:41
6150
发布2018-04-18 17:00:41
举报
文章被收录于专栏:武培轩的专栏
代码语言:javascript
复制
package String;

/**
 * 替换空格
 * 请实现一个函数,将一个字符串中的空格替换成“%20”。
 * 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 */
public class Solution12 {
    public static void main(String[] args) {
        Solution12 solution12 = new Solution12();
        StringBuffer str = new StringBuffer("We Are Happy");
        System.out.println(solution12.replaceSpace_3(str));


    }

    /**
     * 新建字符串,遍历原字符串,当发现空格时,在新字符串添加%20,否则添加原字符串中的数据,改变原数据
     *
     * @param str
     * @return
     */
    public String replaceSpace_3(StringBuffer str) {
        if (str == null) {
            return null;
        }
        StringBuffer newStr = new StringBuffer();
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == (' ')) {
                newStr.append('%');
                newStr.append('2');
                newStr.append('0');
            } else {
                newStr.append(str.charAt(i));
            }

        }
        return newStr.toString();

    }

    /**
     * 直接把StringBuffer转换成String调用replaceAll方法,改变原数据
     *
     * @param str
     * @return
     */
    public String replaceSpace_2(StringBuffer str) {
        if (str == null) {
            return null;
        }
        return str.toString().replaceAll(" ", "%20");

    }

    /**
     * 遍历字符串,当发现空格时,替换空格,改变原数据
     *
     * @param str
     * @return
     */
    public String replaceSpace(StringBuffer str) {
        if (str == null) {
            return null;
        }
        int i = 0, j;
        while (i < str.length()) {
            if ((j = str.indexOf(" ")) != -1) {
                str.replace(j, j + 1, "%20");
                i += 2;
            }
            i++;
        }
        return str.toString();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档