私は辞書内の正しい単語を見つけるために文字列を繰り返して処理しようとしています。javaの3文字以上連続する文字を2文字連続して削除するにはどうすればよいですか?
私が使用しなければならないアプローチは、3つ以上の連続する文字を持つ単語を見つけて、それらを2つの連続する文字に削除することです。
この単語が存在する場合は、辞書で検索します。単語が存在しない場合は、2つの連続する文字を1文字のみにする必要があります。
例:
gooooooood -> good (this existis)
awesooooome -> awesoome (this doesn't exist) -> awesome (this exists)
aaawwwesooooooommmme -> aawwesoomme (this doesn't exist) -> awesome (this exists)
私はJAVAで働いていると私はすでに文字列の3つの以上の繰り返し文字で単語を取得するには、この正規表現を使用しています:
Pattern p = Pattern.compile("\\b\\w*(\\w)\\1{2}\\w*");
"gggoood" - > "ggood" - > "god"? –
サシャ・サラウィー、それはよく指摘されています。その場合は、まず子音と母音をまず実行する必要があると思います。 "ggood" - > "ggoood" - > "goood" - > "good" – user1201779
3から1を削除し、2から削除するのと同等ですか? – Rafael