我需要提取字符串的前两个标记,而不管它们之间有多少空格

I need to extract the first two tokens of a String regardless of how many spaces are in between them

我只需要提取字符串的前两个标记,而不管它们之间有多少 space。然后我需要将这两个提取的标记存储在两个单独的字符串中。

如果字符串之间只有一个 space,我的代码就可以工作。如果有多个 space 则它会将第二个 space 视为第二个字符串。

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 为 " "。

您应该在 \s+ 上拆分,即一个 或更多 spaces/whitespace 个字符:

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

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