练习2--替换空格

题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路:
1、不能直接使用replace,为一个字符替换为三个字符会被覆盖;
2、从前往后会进行替换同样会被覆盖;
3、采用从后往前,先记录下一共有多少空格,现在总长度为count*2+len;再进行替换。
源码:

 public static String replaceSpace(StringBuffer str) {
        int count=0;
        for(int i=0;i<str.length();i++) {
            if(str.charAt(i)==' ')
                count++;
        }
        int len=str.length();
        int lenadd=count*2+len;
        char[] ch =new  char[lenadd];
        for(int i=len-1,j=lenadd-1;i>=0&&j>=0; ) {
            if(str.charAt(i)==' ')
                {ch[j--]='0';
                 ch[j--]='2';
                 ch[j--]='%';
                 i--;
                }
            else {
                ch[j--]=str.charAt(i);
                i--;
            }
        }
       String strnew=String.valueOf(ch);
       return strnew;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 3,386评论 0 80
  • 在挖掘分析的过程当中对字符串的处理是极为重要的,且出现也较为频繁,R语言作为当前最为流行的开源数据分析和可视化平台...
    果果哥哥BBQ阅读 5,914评论 0 8
  • 题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换...
    vaneL阅读 303评论 0 0
  • 下了半个月的雨,终于放晴了。 转眼到月底,没单,好像一月都白忙活。是自己没有尽力还是客观原因很艰难?感恩我现在竟然...
    飘蓝_e78c阅读 206评论 0 0
  • //创建数组第一种 //创建数组的第二种 //数组的length属性是可以修改的 //数组原型的方法1、join(...
    wyq_0bed阅读 113评论 0 0