簡體   English   中英

用python替換字符串中某個字符的多次出現

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM