Разделить строку разделителем в python - PullRequest
160 голосов
/ 13 августа 2010

Как разбить эту строку, где __ - разделитель

MATCHES__STRING

Чтобы получить вывод ['MATCHES', 'STRING']?

Ответы [ 3 ]

270 голосов
/ 13 августа 2010

Вы можете использовать функцию str.split: string.split('__')

>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']
4 голосов
/ 13 августа 2010

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

import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]

for row in csv.reader( lines ):
    ...
1 голос
/ 04 марта 2019

Если в строке два или более (в приведенном ниже примере их три), вы можете использовать запятую для разделения этих элементов:

date, time, event_name = ev.get_text(separator='@').split("@")

После этой строки кодатри переменные будут иметь значения из трех частей переменной ev

Итак, если переменная ev содержит эту строку и мы применяем разделитель '@':

Sa.,23. März @ 19: 00 @ Klavier + Orchester: SPEZIAL

Тогда после операции разбиения переменная

  • date будет иметь значение "Sa., 23. März "
  • время будет иметь значение" 19:00 "
  • event_name будет иметь значение" Klavier + Orchester: SPEZIAL "
...