2017-03-02 8 views
-2

文字列を分割するにはどうすればよいですか?文字が繰り返されると分割されませんか?文字列を分割しますが文字が繰り返されると分割されませんJava

同様:

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

しかし、私はすべての文字の繰り返しを `tのものだけを分割する必要はありません。あなたが解決策として、正規表現を使用することができます

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

はまだ何をしようとしました? – SachinSarawgi

+0

forループを使用すると、作業が楽になります –

+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

問題が解決した場合、この回答を受け入れることができれば幸いです –

関連する問題