Java按单词将行分成2行

标签 java split

我得到了这两行,其中第二行在“a”之后有一个制表符,

    a b C d
    a[tab]b c d

我想要的结果是:

First Line: "a", " bcd"
Second Line: "a", "[tab]b c d"

我只能使用一个 split 函数,并且我尝试过 split("\\s+", 2),但它没有按预期工作。

最佳答案

要保留制表符或空格,您需要使用前瞻功能,并像这样分割:

String[] split = input.split("(?=\\s+)", 2);

完整演示:

List<String> inputs = Arrays.asList("a b C d", "a    b c d");
for (String input : inputs) {
    String[] split = input.split("(?=\\s+)", 2);
    for (String part : split) {
        System.out.format("Split string is '%s'%n", part);
    }
}

打印:

Split string is 'a'
Split string is ' b C d'
Split string is 'a'
Split string is '    b c d'

关于Java按单词将行分成2行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665860/

相关文章:

java - 删除 jFilechooser java 中的所有文件选项

java - 从单词中删除指定的尾随和前导标点符号 (Java)

java - 分割字符串以获取坐标/点

MySQL - 拆分字段并将结果插入到列中

c++ - 如何从字符串中删除子字符串 C++

Java "new File()"不创建文件

java - 使用数据库中的新数据更新应用程序时出现问题

unix - 如何根据多个列值拆分文件

C# - 将可执行文件路径和参数拆分为两个字符串

java - lombok对jpa有副作用吗