基于空间的第二次出现的分割字符串。 例如) 像A B C D E
这样的字符串import java.io.*;
import java.util.Arrays;
class Test {
public static void main(String[]args) throws IOException {
String s="A B C D E";
String[] spl=s.split("(?<=\\s\\S{1,100})\\s");
System.out.println(Arrays.toString(spl));
for(int i = 0; i < spl.length; i++) {
System.out.println(spl[i]);
}
}
}
上面的代码给出
[A B, C, D, E]
A B
C
D
E
我想要的是以下格式:
[A B, C D, E]
A B
C D
E
答案 0 :(得分:4)
找到一种根据您的要求进行拆分的方法非常容易,我会建议使用matching groups
代替
String s = "A B C D E";
Pattern p = Pattern.compile("(\\w\\s\\w)|\\w");
Matcher m = p.matcher(s);
List<String> res = new ArrayList<>();
while(m.find()){
res.add(m.group());
}
System.out.println(res); // [A B, C D, E]