Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java在第二次出现空格时拆分字符串_Java_Regex - Fatal编程技术网

使用java在第二次出现空格时拆分字符串

使用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");

基于空间的第二次出现拆分字符串。 如 像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

找到一种按照您的要求进行拆分的方法非常简单,我建议使用匹配组的方法


这不是一个优雅的解决方案,但您可以始终按空格分割,然后将结果的条目成对地加入到新数组中。谢谢您的回答我从这里得到了一些想法。。检查@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]