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

yan*_*hen 2 python nltk

例如,我想删除重复的字符 hhhaaappy,hhaappy因为h从而a重复两次.我想删除重复两次以上的所有字符.如何在python中快速实现它?

此外,是否有任何python模块可以纠正这个词?像正确hhhaaappyhappy

Aja*_*234 5

你可以使用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)
Run Code Online (Sandbox Code Playgroud)

输出:

'hhaappy'
Run Code Online (Sandbox Code Playgroud)