[英]Split a string between repeating characters
我想取任何給定的字符串並根據重復的字符拆分它。
舉個例子,如果我輸入字符串abcaaabbc
,我想輸出一個等於的字符串數組: [abca, a, ab, bc]
。 每次重復一個字符時,我都想開始一個新的字符串。
當然,可以使用循環執行此操作,但我想知道是否可以使用String.split()
方法實現它。 如果是這樣 - RegEx
會是什么?
對前一個字符(后視(?<=(.))
)與下一個字符(前瞻(?=\\\\1)
)相同並且\\1
捕獲(.)
的輸入字符串進行標記。
String str = "abcbabaaabbc";
String regex = "(?<=(.))(?=\\1)";
System.out.println(Arrays.toString(str.split(regex)));
從性能的角度來看,我會堅持循環。 它在O(n)時間內運行。 已知string.split(正則表達式)很慢。 我最近使用它代替循環,發現與O(n)循環相比它是O(n ^ 2)。
KISS校長在這里工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.