2010-04-07 16 views

Antwort

10

Verwenden Sie reguläre Ausdrücke.

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

Dies wird auch eine einzelne optionale Leerzeichen nach dem Doppelpunkt ziehen.

+0

Danke! Die Python regexp docs ist ziemlich einschüchternd :( – veb

+0

@veb Eine weniger einschüchternde Einführung in Python reguläre Ausdrücke: http://www.amk.ca/python/howto/regex/ – Jacinda

+0

@veb: Willkommen in SO. Wenn eine gepostete Antwort ist nach was Sie suchen, drücken Sie das Häkchen-Symbol, um es "zu akzeptieren". –

0

Dadurch werden alle Wörter, die mit einem Ende ":":

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

oder einen Generator Ausdruck verwenden:

print ' '.join(i for i in word.split(' ') if not i.endswith(':')) 
+0

@David: das ist kein Generator Ausdruck, das ist eine Liste Ausdruck. –

+0

danke für die Korrektur! – cryo

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

dies eine Liste erstellen wird. Sie können sie anschließend zusammenfügen.

Verwandte Themen