关于java.lang.String的split方法???

关于java.lang.String的split方法???
package  com.corejava;

public   class  TestStringSplit {

    
/**
     * 
@author  袁晓江
     
*/
    
public   static   void  main(String[] args) {
        
        String s1 
=   " ;mb001,mb002;xk001,xk002,xk003,xk004;sts001,sts002,sts003,sts004,sts005;; " ;
        String s2 
=   " ;mb001,mb002;xk001,xk002,xk003,xk004;sts001,sts002,sts003,sts004,sts005; ; " ;
        String s3 
=   " ;mb001,mb002;xk001,xk002,xk003,xk004;sts001,sts002,sts003,sts004,sts005;;a " ;
        String s4 
=   " wxyb001,wxyb004,wxyb005,wxyb007,wxyb008;;xk002;; " ;
        String s5 
=   " ;wxyb001,wxyb004,wxyb005,wxyb007,wxyb008;;xk002;; " ;
        String s6 
=   " ;wxyb001,wxyb004,wxyb005,wxyb007,wxyb008;;xk002; " ;
        String s7 
=   " ;mb001,mb002;xk001,xk002,xk003,xk004;sts001,sts002,sts003,sts004,sts005;;a " ;
        String s8 
=   " ;wxyb001,wxyb004,wxyb005,wxyb007,wxyb008;;xk002;a " ;
        
        String[] _s1 
=  s1.split( " \\; " );
        
// -----------------4这个地方打印值是4,倒数第二个分号和倒数第一个分号之间是没有东西的,就不算是么?
        System.out.println(_s1.length);
        
        String[] _s2 
=  s2.split( " \\; " );
        
// -----------------5这个地方打印值是5,倒数第二个分号和倒数第一个分号之间是有一个空格
        System.out.println(_s2.length);
        
        String[] _s3 
=  s3.split( " \\; " );
        
// -----------------6这个地方打印值是6,倒数第二个分号和倒数第一个分号之间是没有东西的,但是最后一个分号后面有一个值
        System.out.println(_s3.length);
        
        String[] _s4 
=  s4.split( " \\; " );
        
// -----------------3这个地方打印值是3,倒数第二个分号和倒数第一个分号之间是没有东西的,但是最后一个分号后面有一个值
        System.out.println(_s4.length);
        
        String[] _s5 
=  s5.split( " \\; " );
        System.out.println(_s5.length);
// -----------------4
        
        String[] _s6 
=  s6.split( " \\; " );
        System.out.println(_s6.length);
// -----------------4
        
        String[] _s7 
=  s7.split( " \\; " );
        System.out.println(_s7.length);
// -----------------6
        
        String[] _s8 
=  s8.split( " \\; " );
        System.out.println(_s8.length);
// -----------------5

    }

}

为什么啊。不是很明白这里的split方法。
后来不得已使用substring截取想要的字符串

你可能感兴趣的:(关于java.lang.String的split方法???)