【发布时间】:2014-06-24 18:32:33
【问题描述】:
我想将字符串“aaaabbbccccaaddddcfggghhhh”拆分为“aaaa”、“bbb”、“cccc”。 “aa”、“dddd”、“c”、“f”等。
我试过了:
String[] arr = "aaaabbbccccaaddddcfggghhhh".split("(.)(?!\\1)");
但这会吃掉一个字符,所以使用上面的正则表达式我得到“aaa”,而我希望它是“aaaa”作为第一个字符串。
我如何做到这一点?
【问题讨论】:
-
@Adri1du40:我对其他选项持开放态度,但不想使用循环。
-
我不是 Java 人,但
string.split()不会比循环慢吗? -
@AmalMurali 的可读性也会降低。我不了解你,但阅读这个正则表达式
(?<=(.))(?!\\1)会让我摸不着头脑。