在java中切片string

在java中如何切片string? 我从csv和xls获取行,例如单元格中的数据就是这样的

14.015_AUDI

我怎么能说,它必须只看到部分之前_? 所以操纵后,我必须有14.015。 在rails中,我将使用gsub来做到这一点,但在java中如何做到这一点?

你可以使用String#split

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

您应该添加错误检查(例如数组的大小是预期的)

而不是分裂创build一个新的列表,并有两次复制,我会使用子string在原始string上工作,并不会创build新的string

 String s = "14.015_AUDI"; String firstPart = s.substring(0, s.indexOf("_")); 
 String str = "14.015_AUDI"; String [] parts = str.split("_"); String numberPart = parts[0]; String audi = parts[1]; 

番石榴有Splitter

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

应该更短:

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