1. Введение
Манипулирование строками может быть очень важным аспектом программирования из-за разнообразия способов управления строками. И одним из таких способов манипулирования строками является разделение их по нескольким символам. Вы можете разделить строки на запятые, точки с запятой и многое другое. В нашей сегодняшней статье мы рассмотрим, как метод split
в Python может помочь манипулировать строками.
Метод split
обычно помогает решить задачу разбивки строк на более мелкие фрагменты на основе определенных строк. У вас может быть длинная строка, сгруппированная по определенному символу, и вы хотите разбить строку на основе этого символа. Вот где метод split
вступает в игру.
1.1 Синтаксис
Метод split
является частью класса String
в Python.
S.split (разделитель, maxsplit) -> Список строк
Первое, что вам нужно, это строка, которую вы хотите разделить. Затем строка, которую вы хотите использовать в качестве разделителя. Если разделитель или None
не пропущены, пробел предполагается в качестве разделителя. Затем параметр maxsplit используется для определения количества делений. По умолчанию он разделяется на максимально возможное количество строк на основе разделителя.
И в результате получается список фрагментов строки, образованных путем разбиения исходной строки на основе разделителя.
2. Примеры
Теперь давайте рассмотрим некоторые примеры метода, split
на части.
2.1 Python String split () Пример 1
Представьте, что у вас есть строка «Что мы делаем сейчас» . Эта строка представлена в памяти следующим образом:
Теперь представьте, что у нас есть следующий код
1
2
|
name = 'What Do We Do Now' name.strip( 'o' , 2 ) |
Приведенный выше код означает, что мы разбиваем строку на куски. Мы разбиваем строку везде, где видим букву «о», в данном случае буква «о» является нашим разделителем.
Теперь мы также передаем число 2. Число 2 означает, что мы можем разделить только 2 раза. Итак, как языки Python выполняют эту задачу?
Он начинается, пока не дойдет до индекса 6, где находится буква «о». Затем он разбивает фрагмент строки с индекса 0 на индекс 5 и помещает его в список.
Таким образом, первый кусок в списке будет:
1
|
[ 'What D' ] |
Затем следующая вещь, которую мы делаем, это продолжается до тех пор, пока мы не найдем еще одну букву «о» в индексе 12, мы разберем фрагмент от последнего «о» в индексе 6 до индекса 12 и поместим в наш список. Теперь у нас есть 2 фрагмента строк в нашем списке.
1
|
[ 'What D' , ' We D' ] |
Помните, что мы ограничили число разделений, которые мы собираемся сделать, до 2. Таким образом, на этом этапе мы прекращаем разделение и возвращаем каждую оставшуюся строку в виде одного фрагмента.
1
|
[ 'What D' , ' We D' , ' Now' ] |
Вы бы поняли, что есть буква «о», которая могла бы быть разделена, но мы не могли этого сделать, потому что разделение было ограничено 2 раза.
И возвращенный окончательный список содержит только 3 фрагмента строк.
2.2 Python String split () Пример 2
Учтите, что имя студента было введено как один текст, и нам нужно разбить его на имя, фамилию и другие имена студента.
1
|
studentName = 'Musa Kabuga Mailafia' |
И когда мы вызываем метод split без передачи какого-либо параметра
1
|
studentName.split() |
Строка представлена в памяти как:
Поскольку явный разделитель не используется, пробел используется в качестве разделителя по умолчанию, и разделение выполняется до конца строки, поскольку максимальное количество разделений не было явно определено.
И результат будет:
1
|
[ 'Musa' , 'Kabuga' , 'Mailafia' ] |
Это означает, что имя студента по умолчанию разделяется на основе пробелов и возвращается список из трех строк.
2.3 Python String split () Пример 3
Рассмотрим другой пример, где студент передает 3 строки для своего имени, но нам нужно только разделить имя на имя и фамилию. Таким образом, мы хотим разделить только один раз. Разделить на его / ее имя и каждая другая строка является фамилией.
1
|
studentName = 'Faiz Bashir Sheik' |
Затем мы вызываем метод split
, но передаем только параметр, чтобы ограничить количество строк, которые должны быть возвращены в списке.
1
|
studentName.split(maxsplit = 1 ) |
Поскольку было задано максимальное количество разбиений, строка разбивается только один раз. А поскольку разделитель не был пропущен, пробел используется по умолчанию. Таким образом, результат, который будет возвращен в этом случае, будет:
1
|
[ 'Faiz' , 'Bashir Sheik' ] |
2.4 Python String split () Пример 4
Рассмотрим следующее:
1
|
string_value = 'How,Do,You,Do,Kabir' |
И мы хотим разделить строку, так как мы не хотим иметь запятые в строке.
Для начала мы сначала представим, как это будет выглядеть в памяти. В памяти это будет выглядеть так:
Затем мы вызываем функцию split с разделителем, который мы хотим использовать:
1
|
string_value.split( "," ) |
И возвращенный результат будет:
1
|
[ 'How' , 'Do' , 'You' , 'Do' , 'Kabir' ] |
2.5 Python String split () Пример 5
Давайте рассмотрим следующий пример
1
|
student_address = '11, Malali Str; 10; Afr' |
Представьте, что вам нужен адрес, который является первым фрагментом строки перед первой точкой с запятой. Как вы продвигаетесь с этим?
Представь себе первую строку в памяти
Затем мы вызываем функцию split
с точкой с запятой (;) в качестве разделителя, затем максимальное расщепление, необходимое для 1. Итак, функция выглядит следующим образом:
1
|
student_address.split( ';' , maxsplit = 1 ) |
И возвращенный результат будет:
1
|
[ '11, Malali Str' , '10; Afr' ] |
2.6 Python String split () Пример 6
Что произойдет, если разделитель, используемый для разбиения строки, не существует в строке?
Давайте посмотрим на еще один пример.
1
|
student_name = 'Alameen Ibrahim' |
И мы хотим разделить строку на основе разделителя ‘,’, и разделитель не существует в строке.
1
|
student_name.split( ',' ) |
Можете ли вы угадать, что будет на выходе?
1
|
[ 'Alameen Ibrahim' ] |
Список, содержащий только точную строку, которая должна была быть разделена, будет возвращен.
3. Python String split () — Заключение
Манипулирование струнами может быть очень напряженной операцией, если мы не знаем, какие инструменты использовать. Поэтому в Python одним из таких инструментов, который позволяет нам манипулировать строками, является метод split
. Это позволяет разбить строку на куски на основе разделителя, а также дает максимальное количество разбиений, которые можно выполнить в любой момент времени.
4. Загрузите исходный код
Это был пример того, как использовать метод split
в Python