goooooooooooood のような単語を good に置き換える必要があります。このために私は試しました
t.replace(r'(.)\2+',r'\2')
ここで、t は goooooooooood のような単語です
しかし、これは機能しません。
あなたが探しているのはスペルチェッカーです。それを行うには複数の方法がありますが、私が役立つと思ったいくつかの方法は
使用できますitertools.groupby()
:
In [53]: strs="goooooooooooood"
In [54]: from itertools import groupby
In [55]: "".join(k*2 if len(list(g))>=2 else k for k,g in groupby(strs))
Out[55]: 'good'
正規表現ソリューション
import re
s = "goooooooooooooood"
print re.sub(r'(.)\1{2,}', r'\1', s)
また
print re.sub(r'(.)\1{3,}', r'\1\1', s)
goooooooooooodを良いものに置き換えるには