2

私は自分のプログラムで作業しており、ユーザーから提供された文字列から繰り返し文字を削除する必要があります。他の質問を参照しましたが、それらはすべてStringBuilder重複を削除するために使用しています。StringBuilderただし、 andを使用して、文字列を配列に変換せずに重複を削除する方法はありSetますか?

私はそれらをまだ学んでいないので、よく理解していません。助けてもらえますか?

たとえば、ユーザーhappyrollingが結果に入力した場合はhapyroling.

4

2 に答える 2

4

あなたの例から、繰り返される文字単語ではなく)を削除したいようです。

正規表現を使用して繰り返しを見つけて削除できます。

str = str.replaceAll("(.)\\1+", "$1");

この正規表現はすべての文字をキャプチャしますが、キャプチャされたグループへの逆参照を使用して同じ文字が続く場合にのみ一致します。置換はキャプチャされた文字であるため、たとえば「xx」は「x」に置き換えられます

于 2013-08-23T22:33:05.430 に答える