如何删除字符串中重复两次以上的字符?

2024-09-30 03:24:33 发布

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

例如,我想删除重复的字符,比如 hhhaaappyhhaappy,因为h和{}重复两次。 我想删除所有重复两次以上的字符。 如何在python中快速实现它?在

另外,有没有python模块可以更正这个词? 像正确的hhhaaappy到{}?在


Tags: 模块字符hhaappyhhhaaappy
2条回答

我想分享这个会很酷。名为autocorrect的模块。在

它的工作原理是使用Candidate Model,对单词执行“简单编辑”。例如,它处理“删除->删除一个字母”、“换位->交换两个相邻的字母”、“替换->将一个字母改为另一个字母”、“插入->添加字母”。在

因此,hhhaaappy可能不起作用,但hhapy或{}可以工作。在

>>> from autocorrect import spell
>>> spell('hhhaaappy')
'hhhaaappy'
>>> spell('hhapy')
'shapy'
>>> spell('happpy')
'happy'
>>> spell('hhapppy')
'happy'

您可以使用itertools.groupby

import itertools
s = "hhhaaappy"
new_s = [(a, list(b)) for a, b in itertools.groupby(s)]
final_s = ''.join(''.join(b[:-1]) if len(b) > 2 else ''.join(b) for a, b in new_s)

输出:

^{pr2}$

相关问题 更多 >

    热门问题