删除单词中的重复字符

2024-06-28 19:20:44 发布

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

我试图清理数据集的文本,但是很多单词拼写错误,例如,很多时候我会看到单词“helllo”。我希望删除一个字符在一行中重复超过两次的重复字符。显然,这对“noooo”这样的词不起作用,因为这会将其转换为“noo”,但我已经编写了一些函数来处理这个问题。我只想把“helllo”这样的词转换成“hello”。你知道吗


Tags: 数据函数文本hello字符单词我会拼写错误
1条回答
网友
1楼 · 发布于 2024-06-28 19:20:44

下面是一个通用函数,用于处理允许的任意重复次数:

def remove_multiple(s, n=2):
    '''
    param s: string
    param n: number of max repetition allowed in the string
    '''
    if n < 0:
        return
    elif n==1:
        return ''.join(sorted(set(s), key=s.index))
    elif n > 1:
        temp = []
        temps = s + ' '*n
        for i, c in enumerate(s):
            if len(set(temps[i:n+1+i])) > 1:
                temp.append(c)
        return "".join(temp)

>>> remove_multiple('helllllllllllllllooooooooooooooo', 2)
Out: 'helloo'
>>> remove_multiple('helllllllllllllllooooooooooooooo', 5)
Out[]: 'helllllooooo'

相关问题 更多 >