Как разбить строку из первого пробела только в Java

Я попытался разбить строку, используя string.Index и string.length, но я получаю сообщение об ошибке, что строка находится вне диапазона. Как я могу это исправить?

while (in.hasNextLine())  {

    String temp = in.nextLine().replaceAll("[<>]", "");
    temp.trim();

    String nickname = temp.substring(temp.indexOf(' '));
    String content = temp.substring(' ' + temp.length()-1);

    System.out.println(content);

Ответ 1

Должно быть примерно следующее:

String nickname = temp.substring(0, temp.indexOf(' '));
String content = temp.substring(temp.indexOf(' ') + 1);

Ответ 2

Используйте функцию разделения java.lang.String с лимитом.

String foo = "some string with spaces";
String parts[] = foo.split(" ", 2);
System.out.println(String.format("cr: %s, cdr: %s", parts[0], parts[1]));

Вы получите:

cr: some, cdr: string with spaces