Разделение строки в Python

БЕСПЛАТНО СКАЧАТЬ КНИГИ по Python на русском языке можно у нас в телеграм канале "Python книги на русском"

При работе над программами иногда возникает необходимость разбить строку на более мелкие части для дальнейшей обработки. В этом руководстве мы подробно рассмотрим, как произвести разделение строки в Python. Разумеется, для большей наглядности разбирать все будем на примерах.

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU

Что собой представляют строки в Python

В Python все является объектом, поэтому даже строка рассматривается как объект.

Строкой называется последовательность символов. Символы могут быть любыми: буквами, цифрами, специальными символами. Компьютер все равно понимает только двоичные числа, т.е. 0 и 1. Перевод символов в нули и единицы мы называем кодированием, а обратный процесс – декодированием. Кодирование осуществляется на основе ASCII.

Строки объявляются с помощью двойных или одинарных кавычек.

Синтаксис:

имя_переменной = "значение строки"

или

имя_переменной = 'значение строки'

Пример объявления строки при помощи двойных кавычек:

my_string = "Hello World"
print("String is: ", my_string)

# Вывод:
# String is: Hello World

Пример объявления строки при помощи одинарных кавычек:

my_string = 'Hello Python'
print('String is: ', my_string)

# Вывод:
# String is: Hello Python

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

Под разделением строки мы понимаем ее разбиение строки на более мелкие части.

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

Примечание редакции: о конкатенации строк можно почитать в статье “Метод join() и объединение строк в Python”.

Разделение строки при помощи функции split()

Метод split() используется для разделения строки на фрагменты. Он принимает один аргумент, называемый разделителем.

Разделителем может быть любой символ или знак. Если разделитель не определен, то по умолчанию будет использоваться пробел.

Синтаксис:

variable_name.split()

Пример:

my_string = "Welcome to Python"
result = my_string.split()
print(result)

# Вывод:
# ['Welcome', 'to', 'Python']

В приведенном выше примере мы использовали функцию split() для разделения строки по пробелам.

Давайте теперь попробуем разделить строку по заданным символам. Для этого будем передавать нужные символы в качестве аргумента функции split().

В качестве разделителя используется запятая:

my_string = "Apple,Orange,Mango"
print("Before splitting, the String is: ", my_string)

value = my_string.split(",")
print("After splitting, the String is: ", value)

# Вывод:
# Before splitting, the String is:  Apple, Orange, Mango
# After splitting, the String is:  ['Apple', 'Orange', 'Mango']

В качестве разделителя используется символ нуля:

my_string = "Welcome0To0Python"
print("Before splitting, the String is: ", my_string)

value = my_string.split("0")
print("After splitting, the String is: ", value)

# Вывод:
# Before splitting, the String is:  Welcome0To0Python
# After splitting, the String is:  ['Welcome', 'To', 'Python']

Используем в качестве разделителя запятую, а результат сохраняем в три разных переменных:

my_string = "Apple,Orange,Mango"
fruit1, fruit2, fruit3 = my_string.split(",")
print("First Fruit is: ", fruit1)
print("Second Fruit is: ", fruit2)
print("Third Fruit is: ", fruit3)

Вывод:

First Fruit is: Apple
Second Fruit is: Orange
Third Fruit is: Mango

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

При разделении строки на выходе мы всегда получаем список.

Примечание редакции: об обратном преобразовании читайте в статье “Как преобразовать список в строку в Python”.

Как вы знаете, в Python мы не определяем типы данных, в отличие от других языков программирования. Поэтому при использовании функции split() лучше присвоить ее результат какой-нибудь переменной, чтобы впоследствии его можно было перебрать в цикле.

Пример:

my_string = "Apple,Orange,Mango"
value = my_string.split(",")

for item in value:
    print(item)

Вывод:

Apple
Orange
Mango

Разбив строку при помощи функции split() и сохранив результат в какой-нибудь переменной, мы можем обращаться к полученным подстрокам по индексу. Пример:

my_string = "Apple,Orange,Mango"
value = my_string.split(",")

print("First item is: ", value[0])
print("Second item is: ", value[1])
print("Third item is: ", value[2])

Вывод:

First item is: Apple
Second item is: Orange
Third item is: Mango

Токенизация строки

Когда мы разделяем строку, она разбивается на более мелкие части, которые называются токенами.

Пример:

my_string = "Audi,BMW,Ferrari"
tokens = my_string.split(",")
print("String tokens are: ", tokens)

# Вывод:
# String tokens are:  ['Audi', 'BMW', 'Ferrari']

Вывод:

Здесь Audi, BMW и Ferrari – токены строки "Audi,BMW,Ferrari".

Разделение строки на символы при помощи функции list()

В Python есть встроенный метод list() для разделения строк на последовательности символов. Функция list() принимает один аргумент – имя переменной, в которой хранится строка.

Синтаксис:

variable_name = "String value"
list(variable_name)

Пример:

my_string = "Python"
tokens = list(my_string)
print("String tokens are: ", tokens)

# Вывод:
# String tokens are:  ['P', 'y', 't', 'h', 'o', 'n']

Заключение

В Python разделение строки осуществляется при помощи встроенного метода split(). Строка разбивается по разделителю, переданному split() в качестве аргумента. В результате мы получаем список подстрок. Этот список, как и любой другой, можно перебирать в цикле, а к его элементам можно обращаться по индексам. Также Python предоставляет встроенный метод list(), с помощью которого можно разделить строку на последовательность символов.

Перевод статьи «Python String Split Tutorial».

1 комментарий к “Разделение строки в Python”

  1. Пингбэк: Как получить последний символ строки в Python

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *