java 用空格分割字符串,遍历每个元素;用引号分割字符串

来源:互联网 发布:java使用数据库连接池 编辑:程序博客网 时间:2024/06/01 09:04

java 用空格分割字符串,遍历每个元素

不用 split( " " ) 的方法,写了半天,写出来一个 do while 。。。do while 看着太难看,改成 while。

如果用 StringTokenizer ,就比较简单了。StringTokenizer 的缺点是无法返回索引。


         // 计算空格的索引,遍历字符串        String re1 = "CS. CS. CS is an FPS. CS. ";        int inA = 0;                   // 第 1 个索引        int inB = re1.indexOf( " ", inA + 1 );    // 第 2 个索引        while( inA != -1 ) {            // 字符串结尾没有空格时            if ( inB == -1 ) {                inB = re1.length();            }            String str = re1.substring( inA, inB ).trim();            print( inA+" - "+inB +" - "+ str );            // 字符串结尾没有空格时,退出循环            if ( inB == re1.length() ) {                break;            } else {                // 保存前一个元素结尾的索引,准备下一次循环                inA = inB;                inB = re1.indexOf( " ", inA + 1 );            }        }
-------------------------------------------------------------
// 用 StringTokenizer 遍历StringTokenizer st=new StringTokenizer( re1," ");while( st.hasMoreTokens() ) {           print( st.countTokens() +" - "+ st.nextToken() );       }


-------------------------------------------------------------
// 用引号分割字符串

        String in = "  \"CS\"     \"  cs \"  \"CS\"  cs ' we ' 'WE' 'WE ~ '  hello ";

        // 用 StringTokenizer 遍历字符串
        StringTokenizer stk1 = new StringTokenizer( in, "\"" );

        int totalCount= stk1.countTokens();
        System.out.println( totalCount );

        while( stk1.hasMoreTokens() ) {
            String temp = stk1.nextToken();

            String re = temp.trim();

            if ( !re.equals( "" ) ) {
                String result = stk1.countTokens() +" - "+ re;

                System.out.println( result );
            }
        }








原创粉丝点击