我想知道如何從Python中的字符串中刪除動態詞。如何從Python中的字符串中刪除以「:」結尾的所有單詞?
它在單詞的末尾總會有一個「:」,有時候在字符串中有多個。我想刪除所有出現的「word:」。
謝謝! :-)
我想知道如何從Python中的字符串中刪除動態詞。如何從Python中的字符串中刪除以「:」結尾的所有單詞?
它在單詞的末尾總會有一個「:」,有時候在字符串中有多個。我想刪除所有出現的「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(':'))
@David:這不是一個生成器表達式,這是一個列表表達式 – 2010-04-07 01:04:24
感謝您的更正! – cryo 2010-04-07 03:05:09
[ chunk for chunk in line.split() if not chunk.endswith(":") ]
這將創建的列表。你可以在之後加入他們。
什麼是「動態詞」? – 2013-08-21 00:25:03