Java将分割线逐行分成2行

时间:2014-03-26 15:32:26

标签: java split

我得到了这两行,其中第二行在'a'后面有一个标签,

    a b C d
    a[tab]b c d

我想要的结果是:

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

我必须只使用一个拆分功能,我尝试了split("\\s+", 2),但它没有按预期工作。

3 个答案:

答案 0 :(得分:3)

要保持您需要使用的标签或空格,并按以下方式分割:

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'

答案 1 :(得分:0)

试试这个

String[] a = s.split("(?<=^\\w+)\\s+");

答案 2 :(得分:-1)

您必须使用“\ t”进行拆分,因为\ t用于制表符。 \ s表示任何空格,因此它包含空格。