2012-08-26 17 views
9

जावा में स्लाइस स्ट्रिंग कैसे? मैं csv, और xls से पंक्ति की हो रही है, और वहाँ उदाहरण डेटा के लिए सेल में _ जावा में स्लाइस स्ट्रिंग

14.015_AUDI

मैं कैसे कह सकते हैं जावा है कि यह केवल ओर से पहले ध्यान देना चाहिए

की तरह है? तो मैनिपुलेट करने के बाद मेरे पास 14.015 होना चाहिए। रेल में मैं gsub के साथ ऐसा करूँगा, लेकिन यह जावा में कैसे करता है?

+0

बस ध्यान दें, रेल में इस के लिए gsub का उपयोग कर बड़े पैमाने पर overkill, आप विभाजन, जावा के रूप में ही इस्तेमाल करना चाहिए है। – 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' देता है। 'स्ट्रिंग पहले पार्ट = s.substring (0, s.indexOf (" _ ") + 1) होना चाहिए; 'ओपी चाहता था' 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]; 
संबंधित मुद्दे