Как может я удалять все слова, которые заканчиваются в “:” от строки в Python?

Я задаюсь вопросом, как удалить динамическое слово из строки в рамках Python.

Это будет всегда иметь a ":" в конце слова, и иногда в строке существует больше чем один. Я хотел бы удалить все случаи "слова":.

Спасибо! :-)

7
задан Anderson Green 21 August 2013 в 00:28
поделиться

3 ответа

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

import re
blah = "word word: monty py: thon"
answer = re.sub(r'\w+:\s?','',blah)
print answer

Это также приведет к удалению одного необязательного пробела после двоеточия.

11
ответ дан 6 December 2019 в 23:03
поделиться
[ chunk for chunk in line.split() if not chunk.endswith(":") ]

это создаст список. вы можете присоединиться к ним позже.

0
ответ дан 6 December 2019 в 23:03
поделиться

Это удаляет все слова, заканчивающиеся на ":":

def RemoveDynamicWords(s):
    L = []
    for word in s.split():
        if not word.endswith(':'):
            L.append(word)
    return ' '.join(L)
print RemoveDynamicWords('word: blah')

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

print ' '.join(i for i in word.split(' ') if not i.endswith(':'))
0
ответ дан 6 December 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: