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

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

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

 

		// 计算空格的索引,遍历字符串
		String re1 = "CS. CS. CS is an FPS. CS. ";

		int indexA = 0;                                 // 第 1 个索引
		int indexB = re1.indexOf( " ", indexA + 1 );    // 第 2 个索引

		while( indexA != -1 ) {
			// 字符串结尾没有空格时
			if ( indexB == -1 ) {
				indexB = re1.length();
			}

			String str = re1.substring( indexA, indexB ).trim();

			print( indexA + " - " + indexB + " - " + str );

			// 字符串结尾没有空格时,退出循环
			if ( indexB == re1.length() ) {
				break;
			} else {
				// 保存前一个元素结尾的索引,准备下一次循环
				indexA = indexB;
				indexB = re1.indexOf( " ", indexA + 1 );
			}
		}

-------------------------------------------------------------

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

 

// 用 StringTokenizer 遍历

StringTokenizer st = new StringTokenizer( re1," " );

while( st.hasMoreTokens() ) {           

    println( 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 );
            }
        }





 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值