StringTokenizer截取字符串

来源:互联网 发布:apache ab 参数说明 编辑:程序博客网 时间:2024/05/29 05:01

     在做项目的过程中遇到了一个这样的问题,文字之间空格个数不等(如下图所示),String字符串自带的split()方法已经无法满足了,一时又找不到好的解决办法,于是乎我的程序就变成了这个尿性

      

public static String  makeTextToDataBase(String str){   String newStr="";String finalStr="";for(int i=0;i<str.length();i++){newStr+=str.substring(i,i+1).trim().equals("")==true?"@":str.substring(i,i+1);}for(int i=0;i<newStr.split("@").length;i++){if(!newStr.split("@")[i].trim().equals("")){finalStr+="'"+newStr.split("@")[i]+"',";}}return finalStr.substring(0,finalStr.length()-1); }  public static String remove(String resource,char ch)    {        StringBuffer buffer=new StringBuffer();        int position=0;        char currentChar;         while(position<resource.length())        {            currentChar=resource.charAt(position++);            if(currentChar!=ch)    buffer.append(currentChar);        }        return buffer.toString();    }
     费了老大的劲终于把问题解决了,但是这段程序也有一定的风险,如果要解析的字符串中出现了@字符,程序就抓瞎了。

     不经意间发现了StringTokenizer,这个对于字符串中不规则的空格解析简直是太简单了,一句话完事,于是乎我的程序就变成了这样子的:

String s = new String(" 1    12   晴间多云                  南转北   2、3                    4       -6      ");StringTokenizer st = new StringTokenizer(s);System.out.println( "Token Total: " + st.countTokens() );while(st.hasMoreElements()){System.out.println( st.nextToken() );};



0 0
原创粉丝点击