我想知道如何在Python中从字符串中删除动态单词。
该单词总是以“:”结尾,并且字符串中有时会有多个。我希望删除所有出现的“word:”。
谢谢! :-)
该单词总是以“:”结尾,并且字符串中有时会有多个。我希望删除所有出现的“word:”。
谢谢! :-)
使用正则表达式。
import re
blah = "word word: monty py: thon"
answer = re.sub(r'\w+:\s?','',blah)
print answer
这也会在冒号后面提取一个可选的单个空格。
这将删除所有以“:”结尾的单词:
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(':'))
[ chunk for chunk in line.split() if not chunk.endswith(":") ]
这将创建一个列表。您可以在之后将它们连接起来。