
Как разбить строку в Python
Разбитие строки на подстроки является одной из самых частых операций в программировании.
Описание метода split( ) в Python
В Python существует довольно простой но весьма эффективный метод split( ) который разбивает строку/текст по указанному разделителю и возвращает список подстрок.
Синтаксис метода split( ) в Python
Метод имеет следующий синтаксис:
str.split(separator, maxsplit)
Где:
str - Ваша строка/текст.
separator - Разделитель. Необязательный параметр, если не задан, то за основу берётся пробел " ", пустая или новая строка.
maxsplit - Необязательный параметр, задаёт максимальное количество разделённых частей. На сегодняшний день мне трудно представить когда и зачем он используется. Ниже приведу пример.
Разбитие текста по разным разделителям в Python
Сгенерируем текст и применим метод split( ) без параметров:
text = 'Lorem ipsum dolor sit amet, consectetur, adipiscing elit. Nunc feugiat, velit justo, vel eleifend sem dignissim quis. Vestibulum aliquet nunc et mi fringilla tincidunt.'
text_list = text.split()
print(text_list)
Как видим текст был разбит по пробелу " " и к нам вернулся список из подстрок:
['Lorem', 'ipsum', 'dolor', 'sit', 'amet,', 'consectetur,', 'adipiscing', 'elit.', 'Nunc', 'feugiat,', 'velit', 'justo,', 'vel', 'eleifend', 'sem', 'dignissim', 'quis.', 'Vestibulum', 'aliquet', 'nunc', 'et', 'mi', 'fringilla', 'tincidunt.']
Зададим методу параметр разделителя в виде точки:
text = 'Lorem ipsum dolor sit amet, consectetur, adipiscing elit. Nunc feugiat, velit justo, vel eleifend sem dignissim quis. Vestibulum aliquet nunc et mi fringilla tincidunt.'
text_list = text.split(sep='.')
print(text_list)
Получаем список из подстрок разбитых по точке:
['Lorem ipsum dolor sit amet, consectetur, adipiscing elit', ' Nunc feugiat, velit justo, vel eleifend sem dignissim quis', ' Vestibulum aliquet nunc et mi fringilla tincidunt', '']
Давайте зададим оба параметра, используя в качестве разделителя запятую, а maxsplit чтобы увидеть разницу сначала равный 1, затем равный 2:
text = 'Lorem ipsum dolor sit amet, consectetur, adipiscing elit. Nunc feugiat, velit justo, vel eleifend sem dignissim quis. Vestibulum aliquet nunc et mi fringilla tincidunt.'
text_list = text.split(sep=',', maxsplit=1)
print(text_list)
"""
Вывод:
['Lorem ipsum dolor sit amet', ' consectetur, adipiscing elit. Nunc feugiat, velit justo, vel eleifend sem dignissim quis. Vestibulum aliquet nunc et mi fringilla tincidunt.']
"""
text1 = 'Lorem ipsum dolor sit amet, consectetur, adipiscing elit. Nunc feugiat, velit justo, vel eleifend sem dignissim quis. Vestibulum aliquet nunc et mi fringilla tincidunt.'
text_list1 = text1.split(sep=',', maxsplit=2)
print(text_list1)
"""
Вывод:
['Lorem ipsum dolor sit amet', ' consectetur', ' adipiscing elit. Nunc feugiat, velit justo, vel eleifend sem dignissim quis. Vestibulum aliquet nunc et mi fringilla tincidunt.']
"""
Как видно из примера используя maxsplit получаем в списке смещение.
Если остались вопросы, задавайте их в комментариях. Enjoy!
Пожалуйста войдите или зарегистрируйтесь что-бы оставить комментарий.