2011-10-03 54 views
7

không ai biết nếu có một phương pháp dựa trên thư viện vững chắc để đạt được những điều sau đây.Java Tách chuỗi thành 2 chuỗi dựa trên dấu phân tách.

nói rằng tôi có một chuỗi:

"name1, name2, name3, name4" 

và tôi muốn phân tích nó thành 2 dây dựa trên các dấu phân cách bằng dấu phẩy.

Tôi muốn các dây để trông giống như này

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

bất kỳ ý tưởng? cảm ơn, m

Trả lời

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

Chỉ trong trường hợp không gian bị thiếu hoặc sẽ có nhiều hơn một dấu cách. –

22

bạn có thể sử dụng 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 

Bạn cũng có thể sử dụng yourString.indexOf(", ")yourString.substring(...).

+0

+1: Bạn sẽ chỉ nhận được một chuỗi nếu không có seperator. ;) –

+0

Yep ... các op lá rằng trường hợp như UB mặc dù :-) – aioobe

+0

Với cách tiếp cận này là tôi đúng trong suy nghĩ rằng tôi sẽ mất dấu phẩy trong chuỗi? Tôi muốn họ ở lại trong chuỗi thứ hai – mAndroid

Các vấn đề liên quan