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

标签 java stringtokenizer

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

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

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+ 上拆分,即一个或多个 空格/空白字符:

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

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

关于java - 我需要提取字符串的前两个标记,而不管它们之间有多少空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55487543/

相关文章:

java - CMake 找不到 JNI

java - Java 句子阅读练习

java - 安卓 Java : changing image in listview depending on content

java - 添加 if 语句进行标记化

java - 程序中的 StringTokenizer 与 split()

java - 使用 StringTokenizer 和连接字符串之间有什么区别吗?

java - 如何创建作为 Windows 服务运行的 Java 进程的内存转储?

java - 有人可以解释为什么该行没有在此 TableLayout 中换行文本吗?

java - 使用 tokenizer 读取一行

java - 从 RandomAccessFile 中读取数据产生不正确的结果 - Java