2010-08-13 10 views
104

Wie diese Zeichenfolge aufgeteilt wird, wobei $$ TEXT $$ das Trennzeichen ist.Teilen einer Zeichenfolge durch ein Trennzeichen in Python

1.MATCHES$$TEXT$$STRING 
    2.MATCHES $$TEXT$$ STRING 
+3

http://docs.python.org/library/stdtypes.html#str.split – getekha

+6

Es lohnt sich, die Python-Standard-Dokumente zu lesen und zu versuchen, einige Programme, andere zu verstehen gemacht haben zu beginnen Grundlagen zu erfassen von Python. Üben und Kopieren/Modifizieren sind großartige Werkzeuge, um Sprache zu lernen. –

Antwort

175

string.split('$$TEXT$$')?

>>> a="1.MATCHES$$TEXT$$STRING" 
>>> a.split("$$TEXT$$") 
['1.MATCHES', 'STRING'] 

>>> a="2.MATCHES $$TEXT$$ STRING" 
>>> a.split("$$TEXT$$") 
['2.MATCHES ', ' STRING'] 

und:

>>> [x.strip() for x in "2.MATCHES $$TEXT$$ STRING".split("$$TEXT$$")] 
['2.MATCHES', 'STRING'] 
+1

Ich frage mich, was ist der Unterschied zwischen dem ersten Beispiel (einfach mit split()) und dem zweiten Beispiel (mit einer for-Schleife)? – EndenDragon

+4

@EdenDragon Die for-Schleife wendet automatisch 'x.strip()' an und gibt eine Trefferliste ohne Leerzeichen auf beiden Seiten zurück. Der Teufel steckt im Detail. –

4

Sie können im csv Modul interessiert sein, die durch Kommata getrennte Dateien ausgelegt ist, kann aber leicht eine benutzerdefinierte Trennzeichen zu verwenden, geändert werden.

import csv 
csv.register_dialect("myDialect", delimiter = "$$TEXT", <other-options>) 
lines = [ "1.MATCHES$$TEXT$$STRING", "2.MATCHES $$TEXT$$ STRING" ] 

for row in csv.reader(lines): 
    ... 
Verwandte Themen