Мне нужно извлечь первые два токена строки независимо от того, сколько пробелов между ними - PullRequest
1 голос
/ 03 апреля 2019

Мне нужно извлечь только первые два токена строки независимо от того, сколько пробелов между ними. Затем мне нужно сохранить эти два извлеченных токена в двух отдельных строках.

Код, который у меня есть, работает, если между строками только один пробел. Если есть более одного пробела, он считает второй пробел второй строкой.

String splitTokens = "Hello    World  this    is    a     test";

String extractTokens[] = splitTokens.split(" ", 3);
String firstString     = extractTokens[0];
String secondString    = extractTokens[1];

Ожидаемый результат: firstString - "Hello", а secondString - "World".

Фактический результат: firstString равен "Hello", а secondString равен "".

1 Ответ

3 голосов
/ 03 апреля 2019

Вы должны разделить на \s+, то есть один или более пробелы / пробельные символы:

String splitTokens = "Hello    World  this    is    a     test";

String[] extractTokens = splitTokens.split("\\s+", 3);
String firstString     = extractTokens[0];
String secondString    = extractTokens[1];
...