我得到了这两行,其中第二行在'a'后面有一个标签,
a b C d
a[tab]b c d
我想要的结果是:
First Line: "a", " bcd"
Second Line: "a", "[tab]b c d"
我必须只使用一个拆分功能,我尝试了split("\\s+", 2)
,但它没有按预期工作。
答案 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表示任何空格,因此它包含空格。