String str = "a1#$b1#$c1;a2#$b2#$c2;a3#$b3#$c3;...;";
String[] str_array = str.split(";");
for(int i=0;i<str_array .length;i++){
     str_array [i] = str_array [i].substring(8);
}

解决方案 »

  1.   

    楼上的没考虑到如果是这样的字符串:a100#$b100#$c100StringTokenizer tokensA = new StringTokenizer( str,";" );
    ArrayList list = new ArrayList();
    while( tokensA.hasMoreTokens() ) {
        StringTokenizer tokensB = new StringTokenizer( tokensA.nextToken() );
        int count = 0;
        while( tokensB.hasMoreTokens() ) {
            count ++;
            if( count == 3 ) {
                list.add( tokensB.nextToken().substring(1) );
                break;
            }
            tokensB.nextToken();
        }
    }
      

  2.   

    StringTokenizer(String str, String delim) ;
    第二个参数是正则表达式,可以同时匹配很多个分割符的;String str = "a1#$b1#$c1;a2#$b2#$c2;a3#$b3#$c3;...;";
    StringTokenizer st = new StringTokenizer(str, "#$;",false);
    while(st.hasMoreTokens()){
         System.out.println(st.nextToken());
    }搞掂!
      

  3.   

    楼上的兄的,我只要c1,c2,c3.....字段
    你的.....
      

  4.   

    回复人: tomcatjava(小鱼儿) ( ) 信誉:98  2004-08-31 19:54:00  得分: 0  
     
     
       楼上的没考虑到如果是这样的字符串:a100#$b100#$c100StringTokenizer tokensA = new StringTokenizer( str,";" );
    ArrayList list = new ArrayList();
    while( tokensA.hasMoreTokens() ) {
        StringTokenizer tokensB = new StringTokenizer( tokensA.nextToken() );
        int count = 0;
        while( tokensB.hasMoreTokens() ) {
            count ++;
            if( count == 3 ) {
                list.add( tokensB.nextToken().substring(1) );
                break;
            }
            tokensB.nextToken();
        }
    }
      
    你的好像也不行哦,list里面什么都没有
      

  5.   

    改过如下ok,谢谢大家!!
    StringTokenizer tokensA = new StringTokenizer( str,";" );
    ArrayList list = new ArrayList();
    while( tokensA.hasMoreTokens() )
         {
              StringTokenizer tokensB = new StringTokenizer( tokensA.nextToken(),"#$" );
              int count = 0;
              while( tokensB.hasMoreTokens() )
                 {
                   count ++;
                   if( count == 3 ) {
                         list.add( tokensB.nextElement());
                         break;
                       }
                                            tokensB.nextToken();
                 }
         }