2017-03-02 99 views
-2

如何分割字符串,但是當字符重複時,不要分割?分割一個字符串,但不要在字符重複時分割java

像:

String a = "aHHHbYY"; 
String[] b = a.split(""); 

但我不希望分裂每封信只是`噸重的人。

輸出會是這樣:

["a", "HHH", "b", "YY"] 
+0

嘗試任何事情? – SachinSarawgi

+0

使用for循環,這會讓事情變得更容易 – 2017-03-02 12:42:33

+0

在發佈之前指定您的問題。 – GensaGames

回答

0

您可以使用正則表達式作爲解決方案。這是一個分割和分隔字符並刪除重複項的例子。

String input = "aHHHbYY"; 
String[] result = input.replaceAll("(.)\\1{1,}", "$1").split(""); 

將讓你:

["a", "H", "b", "Y"] 
+1

一般而言,正則表達式不容易閱讀和理解。但無論如何,總是歡迎您爲您的答案添加一些說明。除此之外,你的'result'是'[「a」,「H」,「b」,「Y」],但是OP希望這個數組是'[「a」,「HHH」,「b」 ,「YY」]' –

+0

@PascalSchneider我回答後更新了問題。大聲笑。 – GensaGames

+0

如果你看看帖子的歷史,我的評論仍然適用。 –

0

您的問題可以很容易地使用正則表達式來解決。這看起來像這樣:

String regex = "(?<=(.))(?!\\1)"; 
String a = "aHHHbYY"; 
String[] b = a.split(regex); 

這給出了你想要的確切輸出。如果你想有一個更詳細的答案,看看這篇文章:

Split regex to extract Strings of contiguous characters

+0

非常感謝... –

+0

如果你的問題解決了,我將不勝感激,如果你能接受這個答案 –