用python替换字符串中出现的多个字符

2024-10-02 08:22:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用goooood来代替goooood。为了这个我试过了

t.replace(r'(.)\2+',r'\2') 

其中t是goooood之类的词

但这行不通。你知道吗


Tags: replacegoooood
3条回答

正则表达式解决方案

import re

s = "goooooooooooooood"
print re.sub(r'(.)\1{2,}', r'\1', s)

或者

print re.sub(r'(.)\1{3,}', r'\1\1', s)

用好的来代替好的

你要找的是拼写检查器。有多种方法可以做到这一点,但我发现很少有方法是有用的

您可以使用^{}

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'

相关问题 更多 >

    热门问题