A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄玉昆 黑马帝   /  2013-2-18 12:14  /  1260 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学了一些字符串的方法,就写了一个小程序,献给大家,有需要改进的地方,请多指教:
  1. /**
  2. 这是一个可以将给定字符串中的空格去掉,作为一个没有空格的新字符串输出的程序。
  3. @version 1.7 2013-02-18
  4. @author 黄玉昆
  5. */
  6. class CutSpace
  7. {
  8.         public static String cutSpace(String str)
  9.         {
  10.                 String[] arr = str.split(" ");
  11.                 str = "";

  12.                 for (int i=0;i<arr.length;i++)
  13.                 {
  14.                         str = str + arr[i];               
  15.                 }
  16.                 return str;
  17.         }

  18.         public static void main(String[] args)
  19.         {
  20.                 String s = "sf sdfe sdfg pkp ;kjk9 ewng  jweljodue   wjeoj09we  sdfjo  ";
  21.                 String s1 = cutSpace(s);
  22.                 System.out.println("将字符串中的空格去除:" + s1);
  23.         }
  24. }
复制代码

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

2 个回复

倒序浏览
能达到这个目的的方法有很多,你这个是效率比较差的一个方法- -!
你这里使用了正则表达式进行切割,再遍历数组,
不如直接用正则替换方法简单,效率还比你这个高,
只需要s=s.replaceAll(" +", "");就行了

或者使用StringBuilder容器:
                StringBuilder sb=new StringBuilder();
                char c;
                for(int i=0;i<str.length();i++){
                        c=str.charAt(i);
                        if(c!=' ')
                                sb.append(c);
                }
                return sb.toString();
这个方法运行速度还要快些。

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

回复 使用道具 举报
黑马张英涛 发表于 2013-2-18 13:13
能达到这个目的的方法有很多,你这个是效率比较差的一个方法- -!
你这里使用了正则表达式进行切割,再遍历 ...

嗯,谢谢,我刚学到String的方法,还没学正则表达式和StringBuilder,以后再改进。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马