[英]Replacing multiple occurences of a character in a string with python
我需要用goooooooooooooood之類的單詞替換掉。 為此我嘗試了
t.replace(r'(.)\2+',r'\2')
t是像gooooooooooood這樣的單詞
但這不起作用。
您正在尋找的是拼寫檢查器。 有多種方法可以做到,但我發現有用的方法很少
您可以使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.