文字列中の2文字を検索/置換する非常に一般的な作業です。しかし、あなたはいくつかのステップで二重の文字を削除することができます存在するソリューションです。たとえば、文字列"skalallapennndraaa"
があり、二重の文字を置き換えた後、出力"skalpendra"
に入る必要があります。私は最高の速度で単語内の2文字の文字列のみを削除します。
re.sub(r'([a-z])\1+', r'\1', "skalallapennndraaa")
で解決策を試してみましたが、これは("skalalapendra"
をresult-)文字列内のすべての二重の文字を削除しないでください。 r''
を2番目のパラメータとして使用すると、密接に関連する結果が"skalaapendr"
になりますが、置換パラメータの正しい正規表現がまだ見つかりません。何か案は?
何も置き換えない限り、正規表現を何度も実行する必要があります。 – Laurel
置換パラメータに問題があります。なぜなら、二重文字を削除する必要がある場所では、r '\ 1'は1文字を残しますが、3文字または他の数字ではなく、両方の文字を削除する必要があります。 –