使用java在第二次出现空格时拆分字符串
基于空间的第二次出现拆分字符串。 如 像B C D E一样的字符串使用java在第二次出现空格时拆分字符串,java,regex,Java,Regex,基于空间的第二次出现拆分字符串。 如 像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");
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
找到一种按照您的要求进行拆分的方法非常简单,我建议使用匹配组的方法
这不是一个优雅的解决方案,但您可以始终按空格分割,然后将结果的条目成对地加入到新数组中。谢谢您的回答我从这里得到了一些想法。。检查@azro的答案,这是一个很好的解决方案。
[A B, C D, E]
A B
C D
E
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]