我有下面的字符串。我如何可以將這個示例字符串拆分爲像Output這樣的數組?@Java:按第一個字符零分割字符串
示例串:
000M10000100001
輸出:它拆分到
String[]{"000M1","00001", "00001"}
我有下面的字符串。我如何可以將這個示例字符串拆分爲像Output這樣的數組?@Java:按第一個字符零分割字符串
示例串:
000M10000100001
輸出:它拆分到
String[]{"000M1","00001", "00001"}
"000M10000100001".split("(?<=1)(?=0)")
使用lookbehead lookbehead來指定位置(以1結尾)。
你可以在 「邊框」 時使用正則表達式拆分接下來是非零由零編,像這樣:
Pattern p = Pattern.compile("(?<=[^0])(?=0.)");
String[] ss = p.split("000M10000100010");
表達(?<=[^0])
的第一部分是指「由前面的非零」。 表達式(?=0.)
的第二部分表示「後跟零和其他一些字符」。
如果我得到這個字符串: - 「00M10000300010」它將返回=> String [] {「00M1」,「00003」,「0001」,「0」}。但我想要的正確答案是 - > String [] {「00M1」,「00003」,「00010」}。該功能應該不檢查最後一個字符。 – Ryan
@Ryan爲什麼當另一個答案有完全相同的問題時,你不接受?這是一個簡單的修復,請看看編輯。 – dasblinkenlight
分裂使用正則表達式,說字符串以1結尾雖然你可以有有很多的可能性。確保您可能擁有的字符串的可能實例以及設備模式。 –