Читать строку до пробела, затем разделить - Java - PullRequest
6 голосов
/ 29 ноября 2010

Как я могу разбить строку в 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 зависит от команды.

Ответы [ 4 ]

15 голосов
/ 29 ноября 2010

Проще всего использовать 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
4 голосов
/ 29 ноября 2010

Использование String.split .

В вашем случае вы бы использовали

fullcmd.split(" ");
3 голосов
/ 29 ноября 2010

Как уже упоминалось при использовании darioo String.split () . Обратите внимание, что аргумент является не простым разделителем, а регулярным выражением, поэтому в вашем случае вы можете сказать: str.split('\\s+'), который разбивает ваше предложение на отдельные слова, если слова разделяются несколькими пробелами.

1 голос
/ 29 ноября 2010

Если вы анализируете из аргумента командной строки, есть apache commons cli , который разбирает аргументы командной строки на объекты для вас.

...