Android,String.split(String regex)不会拆分所有字符串

时间:2017-03-17 22:05:00

标签: java android regex split

我遇到String.split(String regex)的问题。我想将我的字符串分成4个字符的部分。

String stringa = "1111110000000000"
String [] result = stringa.split("(?<=\\G....)")

当我打印结果我期望1111,1100,0000,0000但结果是1111,110000000000。 我怎么解决?谢谢。

1 个答案:

答案 0 :(得分:2)

这里a solution without regex -

从字符串结束开始,提取4个或更少的字符并将它们添加到List:

public static void main (String[] args) {
    String stringa = "11111110000000000";
    List<String> result = new ArrayList<>();

    for (int endIndex = stringa.length(); endIndex  >= 0; endIndex  -= 4) {
        int beginIndex = Math.max(0, endIndex - 4);
        String str = stringa.substring(beginIndex, endIndex);
        result.add(0, str);
    }

    System.out.println(result);
}

导致输出结果:

[1, 1111, 1100, 0000, 0000]