如何从字符串中删除相邻的重复的区分大小写的字符

时间:2018-10-29 15:37:08

标签: python string python-3.x

如何在不考虑大小写的情况下删除字符串中相邻的重复字符?

例如:

string = 'HaPpy Bbirthday!!!'

预期输出:

'Hay irthday'

注意:仅删除了相邻的重复字符。

1 个答案:

答案 0 :(得分:1)

您可以将itertools.groupby与键str.lower一起使用:

from itertools import chain, groupby
from operator import itemgetter

x = 'HaPpy Bbirthday!!!'

grouper = map(list, map(itemgetter(1), groupby(x, key=str.lower)))
res = ''.join(chain.from_iterable(i for i in grouper if len(i) == 1))