2011-10-03 7 views
7

क्या कोई यह जानता है कि निम्नलिखित प्राप्त करने के लिए ठोस लाइब्रेरी आधारित विधि है या नहीं।जावा एक ड्रिमर पर आधारित स्ट्रिंग को 2 तारों में विभाजित करता है।

कहते हैं कि मैं एक स्ट्रिंग है:

"name1, name2, name3, name4" 

और मैं 2 अल्पविराम परिसीमक के आधार पर तार में पार्स करने के लिए चाहता हूँ।

मैं तार इस

string1 = "name1"; 
string2 = "name2, name3, name4"; 

किसी भी विचार की तरह लग रहे करने के लिए चाहते हैं? धन्यवाद, एम

उत्तर

6
Pattern pattern = Pattern.compile(", *"); 
Matcher matcher = pattern.matcher(inputString); 
if (matcher.find()) { 
    string1 = inputString.substring(0, matcher.start()); 
    string2 = inputString.substring(matcher.end()); 
} 
+0

बस अगर अंतरिक्ष गुम हो जाएगा या एक से अधिक होगा। –

22

आप yourString.split(", ", 2) का उपयोग कर सकते हैं।

String str = "name1, name2, name3, name4"; 

String[] parts = str.split(", ", 2); 
String string1 = parts[0]; 
String string2 = parts[1]; 

System.out.println(string1); // prints name1 
System.out.println(string2); // prints name2, name3, name4 

तुम भी yourString.indexOf(", ") और yourString.substring(...) इस्तेमाल कर सकते हैं।

+0

+1: यदि कोई सेपरेटर नहीं है तो आपको केवल एक स्ट्रिंग मिल जाएगी। ;) –

+0

हाँ ... ओप यूबी के रूप में उस मामले को छोड़ देता है हालांकि :-) – aioobe

+0

इस दृष्टिकोण के साथ मैं सोच रहा हूं कि मैं स्ट्रिंग में कॉमा खो दूंगा? मैं उन्हें दूसरी स्ट्रिंग – mAndroid

संबंधित मुद्दे