如何在Python中去掉字符串中所有以":"结尾的单词?

7 投票
3 回答
10384 浏览
提问于 2025-04-15 21:18

我想知道怎么在Python中从一个字符串里去掉一个动态的单词。

这个单词后面总是会有一个“:”符号,而且有时候字符串里会出现多个这样的单词。我想把所有的“word:”都去掉。

谢谢!:-)

3 个回答

0

这段代码会删除所有以“:”结尾的单词。

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
[ chunk for chunk in line.split() if not chunk.endswith(":") ]

这段代码会创建一个列表。你可以在之后把它们连接起来。

13

使用正则表达式。

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

这样做还可以提取出冒号后面可能出现的一个空格。

撰写回答