2012-04-14 36 views
0

有人能告訴我爲什麼這段代碼有一個洞:array [0] [4]?然而,當我給分隔符(「[\:。,] +」)添加加號時,我得到了正確的輸出。使用正則表達式的Java Array Hole

public class Random{ 

    public static void main (String []args){ 

     String [][] array={{"This is a test. A hole here"}}; 

     for(int i=0;i<array.length;i++){ 
      String temp=array[i][0]; 
      array[i]=temp.split("[\\:., ]+"); 
     } 

     System.out.print(array[0][4]); 
    } 
} 

是否有一個原因,爲什麼加號刪除這個洞,並解決這個問題?我願意接受任何建議或意見。是的,我是新手。

回答

1

隨着array[i]=temp.split("[\\:., ]");你的字符串在這裏分裂:

This is a test. A hole here 
    ^^^ ^^^^

所以,你得到的array[4]一個空字符串。

隨着array[i]=temp.split("[\\:., ]+");它將結合「。」到一個「分裂點」,因爲它不會分裂之間。

+0

非常感謝你!!!! – user1299661 2012-04-14 19:05:28