搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 1516|回复: 0
收起左侧

Java去除字符串首尾空格并替换中间多个空格为单个的算法

[复制链接]

该用户从未签到

7

主题

3

好友

1092

积分

Continue

积分
1092
发表于 2012-8-10 22:39:29 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
原帖见这里:http://blog.csdn.net/zzcchunter/article/details/6917379#java ,用自己的想法再实现一次别人的思路,楼下请补充,求指点。
[mw_shl_code=java,true]        /**
         * 替换字符串中间多个空格为单个空格的方法
         * @param str 给定字符串
         * @return       
         */
        public static String RemoveMultipleSpaces(String str){
                char[] ch=str.toCharArray();//把目标字符串转成字符数组
                String res="";//存放结果
                boolean isAdd=false;//保证一个空格只追加一次
                for(int i=0;i<ch.length;i++){//遍历每个字符
                        if(!(ch+"").contains("\u0020")){
                                res+=ch;isAdd=false;//如果不是空格则追加,并重置isAdd变量为false
                        }else if(!isAdd){//如果没有添加过空格则追加一个空格,并设置isAdd变量为true,即已添加过
                                res+=ch;isAdd=true;
                        }
                }
                return res;
        }
       
        /**
         * 去除字符串头尾空格的方法
         * @param str        给定字符串
         * @return
         */
        public static String delFrontAndMiddleSpace(String str){
                char[] ch=str.toCharArray();
                char headStr=' ';//保存首个不是空格的字符
                char bottomStr=' ';//保存最后一个不是空格的字符
                int headIndx=0;//保存首个不是空格的字符的位置
                int bottomIndx=0;//保存最后一个不是空格的字符的位置
                //去除头部空格
                for(int i=0;i<ch.length;i++){
                        if(!(ch+"").contains("\u0020")){//如果不是一个空格
                                headStr=ch;headIndx=i;break;//记录这个字符和出现的位置,退出循环
                        }
                }
                //去除尾部空格
                for(int i=ch.length-1;i>=0;i--){
                        if(!(ch+"").contains("\u0020")){//如果不是一个空格
                                bottomStr=ch;bottomIndx=i+1;break;//记录这个字符和出现的位置,退出循环
                        }
                }
                String res=RemoveMultipleSpaces(str.substring(headIndx,bottomIndx));//调用替换中间多个空格为单个空格的方法
                return res;
        }[/mw_shl_code]

评分

参与人数 1宅币 +20 贡献 +1 收起 理由
风音洛洛 + 20 + 1 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-7-8 01:18 , Processed in 0.068347 second(s), 17 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表