Как удалить несколько последовательных последовательных повторяющихся повторяющихся символов в python - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь предварительно обработать некоторые твиты для проекта ML, где у меня возникают проблемы с двумя типами строк, например
str1 = "coooool" и str2 = "gooooaaaaaal". После удаления повторяющихся символов я хотел бы сохранить слово в str1, то есть
cleaned_str1 = "cool", а cleaned_str2 = "goal".

Я попробовал несколько подходов, которые нашел, но не смог получить правильный вывод. Может ли кто-нибудь помочь мне с этим? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 06 января 2020

Используйте регулярные выражения:

re.sub(r"(\w)\1+(\w)\2+", r"\1\2", "goooaaaal") # -> goal
re.sub(r"(\w)\1+(\w)\2+", r"\1\2", "coooool") # -> cool
0 голосов
/ 06 января 2020
def removeDuplicates(S):   
    n = len(S)  
    j = 0

    if (n < 2) : 
        return

    for i in range(n):   
        if (S[j] != S[i]): 
            j += 1
            S[j] = S[i]  
    j += 1
    S = S[:j] 
    return S 

Это было взято непосредственно из Geeks for Geeks .
Нет способа для программы интуитивно узнать, что для "cool" нужны два "o", как в вашем примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...