Java String Split Method

Java String.split() method 有如下几种特殊情况:

1. 分隔符出现在首尾

1 public static void main(String args[]) {
2     String Str = new String("aba");
3     System.out.println("Start :" );      
4       
5     for (String retval: Str.split("a")) {
6        System.out.println("^"+ retval + "^");
7     }
8     System.out.println("Stop" ); 
9 }

结果是:

Start :
^^
^b^
Stop

首部的分隔符革出一个空位,尾部分隔符没有革出空位. 这里的空位不是空格.参看3 和 4.

2. 

1 public static void main(String args[]) {
2     String Str = new String("aaa");
3     System.out.println("Start :" );      
4       
5     for (String retval: Str.split("a")) {
6        System.out.println("^"+ retval + "^");
7     }
8     System.out.println("Stop" ); 
9 }

结果:

Start :
Stop

如果中间没有革出值,那么所有值都清空.

3. 

1 public static void main(String args[]) {
2     String Str = new String(" aaa ");
3     System.out.println("Start :" );      
4       
5     for (String retval: Str.split("a")) {
6        System.out.println("^"+ retval + "^");
7     }
8     System.out.println("Stop" ); 
9 }

结果:

Start :
^ ^
^^
^^
^ ^
Stop

若是首尾出现空格,那么会被单独革出,中间两个没有值.

4.  

1 public static void main(String args[]) {
2     String Str = new String("aaa ");
3     System.out.println("Start :" );      
4       
5     for (String retval: Str.split("a")) {
6        System.out.println("^"+ retval + "^");
7     }
8     System.out.println("Stop" ); 
9 }

结果:

1 Start :
2 ^^
3 ^^
4 ^^
5 ^ ^
6 Stop

由此可以看出首部隔开的不是空格.

原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/7513080.html