@Java:由第一个字符Zeros拆分字符串

时间:2016-01-05 04:07:29

标签: java

我有以下字符串。我如何将此示例字符串拆分为数组,如输出?

示例字符串:

000M10000100001

输出:将其拆分为

String[]{"000M1","00001", "00001"}

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式来分割" border"当非零后跟零时,如下所示:

Pattern p = Pattern.compile("(?<=[^0])(?=0.)");
String[] ss = p.split("000M10000100010");

Demo.

表达式(?<=[^0])的第一部分表示&#34;前面是非零&#34;。 表达式(?=0.)的第二部分表示&#34;后跟零和其他一些字符。&#34;

答案 1 :(得分:0)

"000M10000100001".split("(?<=1)(?=0)")

使用lookbehind with lookahead指定位置(以1结尾)。

https://regex101.com/r/aG9uP3/1