试试这个:
String str = "aaaabbbccccaaddddcfggghhhh";String[] out = str.split("(?<=(.))(?!)");System.out.println(Arrays.toString(out));=> [aaaa, bbb, cccc, aa, dddd, c, f, ggg, hhhh]
说明:我们想将字符串分成相同字符的组,因此我们需要找出每个组之间的“边界”。我使用Java语法进行正向后看以选择前一个字符,然后使用负向前看并带有向后引用,以验证下一个字符与前一个字符不同。实际上没有消耗任何字符,因为仅使用了两个环视断言(即,常规表达式为零宽度)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)