Как разделить строку с несколькими разделителями в Python

В этом руководстве по Python мы узнаем, как разделить строку по разделителю в Python, а также обсудим, как разделить строку с несколькими разделителями в Python.
При работе со строками в Python часто бывает необходимо разделить их на более мелкие части на основе определенных разделителей. В некоторых случаях разделителем может быть один символ, например запятая или точка. Однако могут быть случаи, когда строку необходимо разделить на основе нескольких разделителей, таких как пробелы, новые строки и табуляции. В этой статье мы обсудим как разбить строку с несколькими разделителями в Pythonиспользуя различные техники.
Разделение строки по разделителю в Python
В Python мы можем разделить строку, используя встроенный split()
метод. Этот метод возвращает список подстрок, разделенных указанным разделителем. Вот синтаксис для split()
метод:
string.split(delimiter, maxsplit)
string
это строка для разделения.delimiter
это символ или набор символов, разделяющий подстроки. Это необязательный аргумент, и если он не указан, метод будет использовать пробел в качестве разделителя.maxsplit
максимальное количество расщеплений для выполнения. Это необязательный аргумент, и если он не указан, метод разделит строку на максимально возможное количество подстрок.
Как разбить строку по разделителю в Python
Давайте посмотрим на несколько примеров того, как разделить строку по разделителю в Python.
Пример 1: разделить строку по разделителю в Python, используя разделитель с вертикальной чертой (|)
Давайте посмотрим на пример того, как разделить строку по разделителю в Python, используя разделитель с вертикальной чертой (|).
colors = "red|green|blue"
color_list = colors.split("|")
print(color_list)
Выход:
['red', 'green', 'blue']
Пример 2: Разделить строку в Python, используя разделитель новой строки (\n)
Давайте теперь посмотрим, как разделить строку в Python, используя разделитель новой строки (\n).
text = "Line 1\nLine 2\nLine 3"
lines = text.split("\n")
print(lines)
Выход:
['Line 1', 'Line 2', 'Line 3']
Пример 3: Разделить строку в Python, используя разделитель с запятой (;)
Давайте посмотрим еще один пример того, как разделить строку в python, используя разделитель с запятой (;).
data = "John;Smith;35"
fields = data.split(";")
print(fields)
Выход:
['John', 'Smith', '35']
В этих примерах мы использовали разные разделители для разделения строк на подстроки с помощью split()
метод в Python.
Как разбить строку с несколькими разделителями в Python
Давайте посмотрим на несколько примеров того, как разделить строку с несколькими разделителями в Python.
При работе со строками в Python часто бывает необходимо разделить их на более мелкие части на основе определенных разделителей. В некоторых случаях разделителем может быть один символ, например запятая или точка.
Однако могут быть случаи, когда строку необходимо разделить на основе нескольких разделителей, таких как пробелы, новые строки и табуляции. В этой статье мы обсудим, как разделить строку с несколькими разделителями в Python, используя различные методы.
Метод split() — это встроенная в Python функция, которая разбивает строку на список подстрок на основе указанного разделителя. По умолчанию разделителем, используемым методом split(), является символ пробела. Однако метод также может принимать несколько разделителей в качестве аргументов. В следующем фрагменте кода показано, как разделить строку с помощью нескольких разделителей:
string = "This is\na\ttest"
delimiters = " \n\t"
result = re.split("|".join(delimiters), string)
print(result)
В этом примере строка «This is\na\ttest» разбивается на список подстрок с использованием разделителей «», «\n» и «\t». Метод join() используется для объединения разделителей в шаблон регулярного выражения, который передается в качестве аргумента методу split(). Результирующий список содержит подстроки «Это», «есть», «а» и «тест».
- Использование функции re.split()
Функция re.split() является более мощной альтернативой методу split(). Это позволяет использовать более сложные шаблоны регулярных выражений в качестве разделителей. В следующем фрагменте кода показано, как разделить строку с помощью нескольких разделителей с помощью функции re.split():
import re
string = "This is\na\ttest"
delimiters = r"[\n\t ]+"
result = re.split(delimiters, string)
print(result)
В этом примере шаблон регулярного выражения «[\n\t ]+» соответствует одному или нескольким вхождениям символов «\n», «\t» и ««. Результирующий список содержит те же подстроки, что и в предыдущем примере.
- Использование метода splitlines()
Метод splitlines() — это встроенная в Python функция, которая разбивает строку на список строк на основе символа новой строки «\n». Однако он также может принимать дополнительные разделители в качестве аргументов. В следующем фрагменте кода показано, как разделить строку с помощью нескольких разделителей с помощью метода splitlines():
string = "This is\na\ttest"
delimiters = " \t"
lines = string.splitlines()
result = [item for line in lines for item in line.split(delimiters)]
print(result)

В этом примере метод splitlines() сначала используется для разделения строки на список строк. Затем для каждой строки вызывается метод split() с разделителями » » и «\t» в качестве аргументов. Результирующий список содержит те же подстроки, что и в предыдущих примерах.
Примеры разделения строки с несколькими разделителями в Python
Рассмотрим несколько примеров того, как разделить строку с несколькими разделителями в Python.
Пример 1. Использование регулярных выражений для разделения строки с несколькими разделителями
Регулярные выражения можно использовать для разделения строки с несколькими разделителями в Python. В следующем примере показано, как разбить строку с помощью регулярного выражения, которое соответствует символам ” “, “\n” и “\t”:
import re
string = "This is\na\ttest"
delimiters = r"[ \n\t]+"
result = re.split(delimiters, string)
print(result)
В этом примере шаблон регулярного выражения «[ \n\t]+» соответствует одному или нескольким вхождениям символов «», «\n» и «\t». Результирующий список содержит те же подстроки, что и в предыдущих примерах.
Пример 2: Разделение строки с несколькими разделителями на словарь
В некоторых случаях может быть полезно разбить строку с несколькими разделителями на словарь. В следующем примере показано, как разбить строку на словарь, используя разделители «:», «», и «,»:
string = "name:John,age:30,gender:Male"
delimiters = ":, "
result = dict(zip(string.split(delimiters)[::2], string.split(delimiters)[1::2]))
print(result)
В этом примере метод split() используется для разделения строки на список подстрок с использованием разделителей «:», «», и «,». Полученный список затем преобразуется в словарь с помощью функций zip() и dict().
Пример 3: разделение строки с несколькими разделителями и игнорирование пустых строк
В некоторых случаях разделение строки с несколькими разделителями может привести к появлению пустых строк. В следующем примере показано, как разделить строку, игнорируя пустые строки:
string = "This is\na\ttest\n"
delimiters = " \n\t"
result = [item for item in re.split("|".join(delimiters), string) if item]
print(result)
В этом примере метод join() используется для объединения разделителей в шаблон регулярного выражения, который передается в качестве аргумента методу split(). Результирующий список содержит подстроки «This», «is», «a» и «test», а пустая строка в конце исходной строки игнорируется.
Заключение
В этом руководстве по Python объясняется, как разделить строку с несколькими разделителями в Python. Мы можем использовать метод split(), функцию re.split() и методы splitlines() для разделения строки с несколькими разделителями в Python.
Вам могут понравиться следующие руководства по Python:

Python — один из самых популярных языков в Соединенных Штатах Америки. Я давно работаю с Python и имею опыт работы с различными библиотеками на Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn и т. д. У меня есть опыт работы с различными клиентами в таких странах, как США, Канада, Великобритания, Австралия, Новая Зеландия и т. д. Проверьте мой профиль.
Ссылка на источник