2011-10-03 20 views
7

誰もが、以下を達成するための固体ライブラリベースの方法があるかどうかを知っています。Java文字列を区切り文字に基づいて2つの文字列に分割します。

"name1, name2, name3, name4" 

と私はカンマ区切りに基づいて2列にそれを解析したい:

は、私は、文字列を持っていると言います。

私は、文字列が、この

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

任意のアイデアのように見えるしたいと思いますか? ありがとう、m

答えて

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:セパレータがない場合は、1つの文字列しか表示されません。 ;) –

+0

ええと... opはUBとしてそのケースを残します:-) – aioobe

+0

この方法では、文字列のコンマを失うことになると思いますか?私は彼らに2番目の文字列 – mAndroid

関連する問題