我想拆分任何给定的字符串,基于重复的字符。
例如,如果我输入字符串abcaaabbc
,我希望输出与以下相等的字符串数组:[abca, a, ab, bc]
。每次字符重复时,我都想开始一个新的字符串。
当然,使用循环可以完成此操作,但我想知道是否可以使用String.split()
方法来实现。如果可以-正则表达式将是什么?
将输入字符串进行分词,其中前一个字符(向前查找(?<=(.))
)与后一个字符相同(向后查找(?=\\1)
),并使用\1
捕获(.)
。
String str = "abcbabaaabbc";
String regex = "(?<=(.))(?=\\1)";
System.out.println(Arrays.toString(str.split(regex)));
(?<=)
)与下一个字符(向前查找(?=)
)相同。\1
捕获(.)
。 - Prince John Wesley