我得到了这两行,其中第二行在“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/