[英]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.