2012-08-26 109 views
9

java中的切片字符串?我讓我從CSV,XLS和行的,還有例如數據細胞就像java中的切片字符串

14.015_AUDI

我怎麼能說java的,它必須目光僅僅放在部分之前_?所以操縱後,我必須有14.015。在rails中,我將使用gsub來做到這一點,但在java中如何做到這一點?

+0

只是要注意,在使用Rails的GSUB這是巨大的矯枉過正,你應該使用分割,相同的Java。 – Rym

回答

15

您可以使用String#split

String s = "14.015_AUDI"; 
String[] parts = s.split("_"); //returns an array with the 2 parts 
String firstPart = parts[0]; //14.015 

您應該添加錯誤檢查(如預期數組的大小例如)

4
String str = "14.015_AUDI"; 
String [] parts = str.split("_"); 

String numberPart = parts[0]; 
String audi = parts[1]; 
10

而是分裂,創建一個新的列表和有兩次複製,我會使用子串,它對原始字符串起作用並且不會創建新字符串

String s = "14.015_AUDI"; 
String firstPart = s.substring(0, s.indexOf("_")); 
+0

'indexof'必須在'indexOf'中更改 – Youssef

+0

@Youssef,謝謝修復 –

+0

這是錯的,它會返回'AUDI'。需要字符串firstPart = s.substring(0,s.indexOf(「_」)+ 1);'OP要'14.015' – alreadytaken

0

番石榴Splitter

List<String> pieces = Splitter.on("_").splitToList("14.015_AUDI"); 
String numberPart = parts.get(0); 
String audi = parts.get(1); 
0

要短:

"14.015_AUDI".split("_")[0];