在Java中围绕字符序列拆分字符串

在Java中围绕字符序列拆分字符串,java,string,split,Java,String,Split,在Java中,如何将一个字符串拆分为一个特定数字的倍数的字符序列?示例:我有一个二进制字符串 101010100010000001110101110111 我想把它分成零序列,它是3的倍数,也就是说,它应该返回 [1010101, 1, 1110101110111] (它应考虑可被3整除的0的正则表达式序列,在本例中为000和000000) 我尝试了split(“[0{3}]+”),但它不起作用。我认为split((0{3})+”)应该可以解决它。在[]之间放置某些内容意味着您正试图查找该块

在Java中,如何将一个字符串拆分为一个特定数字的倍数的字符序列?示例:我有一个二进制字符串

101010100010000001110101110111
我想把它分成零序列,它是3的倍数,也就是说,它应该返回

[1010101, 1, 1110101110111]
(它应考虑可被3整除的0的正则表达式序列,在本例中为000和000000)

我尝试了
split(“[0{3}]+”)
,但它不起作用。

我认为
split((0{3})+”)应该可以解决它。在
[]
之间放置某些内容意味着您正试图查找该块中的某些字符

更新

如果我们想要评论中所需的内容,应该是这样的:
split((?我认为
split((0{3}+)”)
应该可以解决这个问题。在
[]
之间放置一些东西意味着您正在尝试查找该块中的某些字符

更新

如果我们想要评论中所需的内容,应该是这样的:
split((?Try

试一试


使用正则表达式来拆分字符串

它是一个非常强大的工具,几乎是一种语言本身

在您的情况下

s.split(“0{3,}”)

再见


David。

使用正则表达式来拆分字符串

它是一个非常强大的工具,几乎是一种语言本身

在您的情况下

s.split(“0{3,}”)

再见

大卫。

试试看

class Scratch {
    public static void main(String[] args) {
        String s = "101010100010000001110101110111";

        for (String el : s.split("(0{3})+")) {
            System.out.println(el);
        }

    }
}
String str = "101010100010000001110101110111";
String[] strArray = str.split("(0{3})+");
System.out.println(Arrays.toString(strArray));
试一试


找到你需要的子字符串,得到索引,从那里分割。当你说3的倍数时,你的意思是正好3,还是至少3?你能解释一下逻辑吗…@Joey:如果你有4个零呢?例如,
11000100001
…输出结果会是什么?@Joey:用这些信息更新你的问题,我想回答的人都会这么想g与你的要求相混淆找到你需要的子字符串,得到索引,从那里分割。当你说3的倍数时,你的意思是3,还是至少3?你能解释一下逻辑吗…@Joey:如果你有4个零呢?例如,
11000100001
…输出是什么?@Joey:用这些信息更新你的问题n、 由于我认为回答问题的人对你的要求感到困惑,我认为OP只想在零的数量是3的倍数时进行拆分。因此,如果有4个零,则不应拆分,而应拆分3、6、9等split@musefan我更新了我的答案。据我所知,这应该是理想的解决方案。我相信OP想要split仅当零的数量是3的倍数时。因此,如果有4个零,则不应拆分,而应拆分3、6、9等split@musefan我更新了我的答案。据我所知,这应该是理想的解决方案