Сообщить об ошибке.

Метод str.split() в Python, делит строку по подстроке

Разделить строку на список подстрок по разделителю

Синтаксис:

str.split(sep=None, maxsplit=-1)

Параметры:

  • sep=None - str, разделитель. Может содержать как один, так и несколько символов;
  • maxsplit=-1 - int, сколько раз делить строку. По умолчанию -1 - неограниченно.

Возвращаемое значение:

  • list, список подстрок.

Описание:

Метод str.split() возвращает список слов (подстрок) в строке, используя sep в качестве разделителя строки str. Если задан maxsplit, то выполняется не более maxsplit разбиений, таким образом, список будет иметь не более maxsplit+1 элементов. Если maxsplit не указан или равен -1, то делаются все возможные разделения строки str.

Если указан разделитель sep, то последовательные разделители в обрабатываемой строке не группируются вместе, а считаются разделителями пустых подстрок. Аргумент sep может состоять из нескольких символов. Разбиение пустой строки str с указанным разделителем возвращает значение ["]. Например:

# Последовательные разделители не группируются вместе.
# и считаются разделителями пустых строк
>>> '1,,2'.split (',')
# ['1', ", '2']) 

#Аргумент 'sep' может состоять из нескольких символов.
>>> '1<>2<>3'.split ('<>')
# ['1', '2', '3'])

# Разбиение пустой строки с указанным разделителем.
>>> ''.split(';')
['']

Если sep не указан или задан None, применяется другой алгоритм разбиения:

Последовательности пробелов рассматриваются как один разделитель и если строка имеет начальные или конечные пробелы, то результат не будет содержать пустых строк в начале или конце. Следовательно, разбиение пустой строки или строки, состоящей только из пробела с разделителем None, возвращает пустой список [].

Смотрите так же метод str.rsplit(), который начинает деление строки справа.

Если необходимо разделить строку на список подстрок по регулярному выражению, то обратите внимание на функцию re.split().

Примеры деления строки по подстроке/символу.

>>> '1,2,3'.split(',')
# ['1', '2', '3']

>>> '1,2,3'.split(',', maxsplit=1)
# ['1', '2,3']

>>> '1,2,,3,'.split(',')
# ['1', '2', '', '3', '']

>>> '1 2 3'.split()
# ['1', '2', '3']

>>> '1 2 3'.split(maxsplit=1)
# ['1', '2 3']

>>> '   1   2   3   '.split()
# ['1', '2', '3']

>>> '--1-3--2'.split('-')
# ['', '', '1', '3', '', '2']