Обычно при обработке естественного языка, когда нужно разделить текст на слова, я использую метод разделения строки на массив. В этом случае слова отделяются друг от друга на основе определённого разделителя.
В Python есть несколько способов разделить строку на массив. Я расскажу о наиболее часто используемых из них.
Но сначала давайте разберёмся, что такое разделение строки на массив. Например, если у нас есть строка «Вы — король 1900-х годов», мы можем разделить её на массив слов или символов. В Python массив — это список.
Помните, что строка — это последовательность символов. Она может содержать одно слово, предложение или целый абзац. Вы можете разделить эту строку на список в Python (в других языках программирования это называется массивом).
С использованием функции Split()
В Python метод split() принимает параметр, который называется разделителем. Этот разделитель используется для разделения строки на подстроки. В этом случае вы будете использовать эту концепцию для разделения строки на массив.
Синтаксис:
str.split(delimiter)
Где:
- str: это строка, которую вы хотите разделить на массив.
- Split (разделитель): это функция Split(), которая принимает разделитель или разделитель строк, по которому строка делится на массив.
Давайте рассмотрим пример: предположим, что у вас есть строки, подобные показанным ниже.
str = "You are the 1900s king"
Чтобы разделить строку на массив, можно воспользоваться методом split(). В качестве разделителя следует указать пробел. Вот как это будет выглядеть:
string_to_array = str.split(" ") print(string_to_array)
Из выходных данных видно, что строка «Вы — король 1900-х годов» разделяется на массив следующим образом: [‘Вы’, ‘являетесь’, ‘the’, ‘1900-е’, ‘король’]. Каждая часть исходной строки становится отдельным элементом списка или массива.
Если внимательно посмотреть на строку, можно заметить, что каждое слово в ней отделено пробелом. Этот пробел называется разделителем. В коде «string_to_array = str.split(‘ ‘)» метод Split(‘ ‘) вызывается для строки «str» с использованием разделителя «», который представляет пробел.
Метод Split(») разделяет все строки в списке на основе указанного разделителя «» и сохраняет их в виде списка в новой переменной string_to_array.
С помощью модуля re
В Python модуль re имеет функцию split(). Вы также можете получить доступ к этому методу через модуль re, используя запись re.split(). Функция split() позволяет разделить строку на части, используя указанное регулярное выражение (шаблон).
Например, если у вас есть строка «Соединённые Штаты Америки», вам, возможно, не понадобятся регулярные выражения. Однако я приведу пример использования re.split(), чтобы продемонстрировать, как он работает.
Сначала импортируйте ремодуль.
import re
Затем объявите строку, которую вы хотите разделить на массив, как показано ниже.
string = "United States of America"
Затем создайте шаблон и передайте его функции re.split(). Это разделит строку на массив, как показано ниже.
pattern = " " array = re.split(pattern, string) print(array)
Из вывода видно, что строка «Соединённые Штаты Америки» преобразуется в массив следующим образом: «[‘United’, ‘States’, ‘of’, ‘America’]».
В этом коде функция re.split(pattern, string) принимает шаблон, который в данном случае представляет собой пробел, и строку, которую нужно разделить на массив. В результате метод re.split() делит строку на массив и сохраняет его в новой переменной с именем «array».