黑马程序员技术交流社区

标题: 【分享】去除字符串中的空格--自创 [打印本页]

作者: 黄玉昆    时间: 2013-2-18 12:14
标题: 【分享】去除字符串中的空格--自创
今天学了一些字符串的方法,就写了一个小程序,献给大家,有需要改进的地方,请多指教:
  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. }
复制代码

作者: 黑马张英涛    时间: 2013-2-18 13:13
能达到这个目的的方法有很多,你这个是效率比较差的一个方法- -!
你这里使用了正则表达式进行切割,再遍历数组,
不如直接用正则替换方法简单,效率还比你这个高,
只需要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();
这个方法运行速度还要快些。
作者: 黄玉昆    时间: 2013-2-18 13:24
黑马张英涛 发表于 2013-2-18 13:13
能达到这个目的的方法有很多,你这个是效率比较差的一个方法- -!
你这里使用了正则表达式进行切割,再遍历 ...

嗯,谢谢,我刚学到String的方法,还没学正则表达式和StringBuilder,以后再改进。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2