首页 > Java > java教程 > 正文

java实现替换字符串中的空格思路和代码

PHPz
发布: 2017-04-23 14:53:41
原创
2525 人浏览过

问题描述:

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

java实现替换字符串中的空格基本思路:

逆序替换,降低时间复杂度

实现方案:

  • String一旦初始化,无法改变。

  • 使用StringBuffer,是因为牛客网的模板。

  • 实际使用中,单线程建议是用StringBuilder,因其无锁,效率高。

  • 多线程中,使用StringBuffer。

  • 两者的内置函数是相同的

思考:

  • 在原有字符串上更改,还是新建字符串(原有的话,需要重新设置长度setLength())

  • 不考虑使用现有replace()

java实现替换字符串中的空格代码:

public static String replaceSpace(StringBuffer str){        
        int length = str.length();        int spacenum = 0;        
        //统计空格字符个数
        for(int i=0;i<length;i++){            if(str.charAt(i) == &#39; &#39;)
                spacenum++;
        }        
        int lengthNew = length + spacenum*2;
        str.setLength(lengthNew);        int index = length-1;        int indexNew = lengthNew-1;        for(;index>=0;index--){            
            if(str.charAt(index) == &#39; &#39;){
                str.setCharAt(indexNew--, &#39;0&#39;);
                str.setCharAt(indexNew--, &#39;2&#39;);
                str.setCharAt(indexNew--, &#39;%&#39;);
            }            else{
                str.setCharAt(indexNew--, str.charAt(index));
            }
        }        return str.toString();
    }
登录后复制

好了,本文就介绍到这里,欢迎大家多多指教。感兴趣的请学习php中文网在线java视频教程

以上是java实现替换字符串中的空格思路和代码的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!