2010-11-29 15 views
6

Javaで文字列を分割するにはどうすればよいですか?
スペースがあるまで文字列を読みたいと思います。
その後、スペースの後に別の文字列に分割します。文字列を読み込んでから分割するまで - Java

文字列fullcmd = /join luke
私はに分割したいと思い :
文字列のCMD = /join
文字列名= luke
OR
文字列fullcmd = /leave luke
私はに分割したいと思います:
文字列のCMD = /leave
文字列名= luke

私ができるように:

if(cmd.equals"/join") System.out.println(name + " joined."); 
else if(cmd.equals"/leave" System.out.println(name + " left."); 

私はString cmd = fullcmd.substring(0,5);
をすることについて考えました。しかし、CMDの長さは、コマンドによって異なります。

+0

string.split( '')?スペースで文字列を分割し、結果として配列を返します。ですから、スペース上の "/ join luke"とsplit()があれば、配列要素0 = "/ join"と配列要素1 = "luke"となります。 – charliegriefer

答えて

15

使用することになり、にコマンドライン引数を解析apache commons cliありあなたのためのオブジェクト。

+0

私はこれを私のプログラムで使ってきました – Luke

+0

あなたはもちろん歓迎です –

4

String.splitを使用してください。あなたのケースでは

、あなたはコマンドライン引数から解析している場合は、String.split()

String[] tokens = fullcmd.split(" "); 
if(tokens.length!=2){throw new IllegalArgumentException();} 
String command = tokens[0]; 
String person = tokens[1]; 
// now do your processing 
+2

私は彼がfullcmd.split( "")を望んでいると思う? – charliegriefer

+0

@charliegriefer:修正済み、それを指摘してくれてありがとう – darioo

1

を使用する場合、それが最も簡単です

fullcmd.split(" "); 
3

と同様にdariooで使用されたString.split()です。引数は単純な区切り記号ではなく正規表現であることに注意してください。その場合は、単語が複数のスペースで区切られている場合、文を別の単語のイベントに分割するstr.split('\\s+')と言うことができます。

関連する問題