2010-04-07 89 views

回答

10

使用正则表达式。

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

这也将拉出冒号后的单个可选空间。

+0

谢谢! Python的正则表达式文档相当吓人:( – veb 2010-04-07 00:21:47

+0

@veb python正则表达式的简单介绍:http://www.amk.ca/python/howto/regex/ – Jacinda 2010-04-07 00:23:46

+0

@veb:欢迎来到SO。如果发布的答案是你在找什么,按复选标记图标以“接受”它 – 2010-04-07 00:25:02

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

@David:这不是一个生成器表达式,这是一个列表表达式 – 2010-04-07 01:04:24

+0

感谢您的更正! – cryo 2010-04-07 03:05:09

0
[ chunk for chunk in line.split() if not chunk.endswith(":") ] 

这将创建的列表。你可以在之后加入他们。

相关问题