2010-08-13 4 views
104

Как разбить эту строку, где $$ TEXT $$ является разделителем.Разделить строку разделителем на python

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

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

+6

Стоит прочитать стандартный питон документы и пытаясь понять несколько программ, другие сделали, чтобы начать, чтобы понять основы Python. Практика и копирование/изменение - отличные инструменты для изучения языка. –

ответ

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'] 

и:

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

Мне было интересно, в чем разница между первым примером (просто используя split()) и второй пример (с циклом for)? – EndenDragon

+4

@EndenDragon Цикл for автоматически применяет 'x.strip()' и возвращает список совпадений без пробелов с обеих сторон. Дьявол кроется в деталях. –

4

Вы можете быть заинтересованы в модуле csv, который предназначен для разделенных запятыми файлов, но могут быть легко изменены, чтобы использовать пользовательский разделитель.

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): 
    ... 
Смежные вопросы