2013-12-19 38 views
2

...所以我試圖使用split()方法的字符串分割數據。 (順便說一下,自從我以嚴肅的方式將代碼彎曲以來,Java中正則表達式的發展如此之好給我留下了深刻的印象。)使用String.split與正則表達式

這是我正在嘗試的,它似乎並沒有給我結果我會預測:

public static void main(String[] args){ 
    String s = "CSCO_9910290"; 

    String [] ss = s.split("(.*)_(.*)"); // split on the _ character 
    System.out.println("Size of ss is: " + ss.length + "\n"); // this prints 0 

    for (String r : ss){ 
     System.out.println("result is: " + r + "\n"); 
    } 
    System.out.println("Finished now..."); // declares completion of loop 

} 

回答

5

隨着split正則表達式,其目的是不建立一個正則表達式的整個字符串,但僅在所述分離器(一個或多個)匹配。你不需要任何東西,但:

String [] ss = s.split("_"); 
+0

...當然。歸咎於一個老化的Perl程序員。 (當然不是我,我從來沒有責怪。) – agentv

1
String [] ss = s.split("_"); // split on the _ character 

這是正確的做法。

+0

...其實,現在這對我來說是有道理的。我工作太辛苦了。 – agentv

1

有關_性格分裂只需使用s.split("_")

+0

......謝謝,那就是訣竅! – agentv

相關問題