簡體   English   中英

在Java中圍繞char序列拆分字符串

[英]Splitting a string around sequences of char in Java

如何用Java將字符串拆分為多個特定數字的字符序列? 示例:我有一個二進制字符串

101010100010000001110101110111

我想將其拆分為零的序列,該序列是3的倍數,即它應該返回

[1010101, 1, 1110101110111]

(它應考慮零可被3整除的正則表達式序列,在這種情況下為000和000000)

我嘗試了split("[0{3}]+")但是它不起作用。

我認為split("(0{3})+")應該可以解決。 []之間插入內容表示您正在嘗試查找該塊中的某些字符。

更新

如果我們想要注釋中需要的內容,則應為: split("(?<!0)(0{3})+(?!(0{1,2}))") 它稍微復雜一點,但是應該提供所需的輸出。

假設我們有100001作為輸入。 部分(?<!0)將確保開頭永遠不會為0 ,否則結果可能類似於[10, 1] 然后(?!(0{1,2}))檢查是否還有1或2個剩余的0

這將使[100001]具有給定的輸入。 使用輸入1000100001 ,將得到[1, 100001]

嘗試

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

嘗試

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

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

    }
}

使用正則表達式拆分字符串。

這是一個非常強大的工具。 幾乎是一種語言。

在您的情況下

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

再見。

大衛。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM