String.prototype.split()
Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
Синтаксис
str.split([separator[, limit]])
Параметры
Необязательный параметр. Указывает символы, используемые в качестве разделителя внутри строки. Параметр separator может быть как строкой, так и регулярным выражением. Если параметр опущен, возвращённый массив будет содержать один элемент со всей строкой. Если параметр равен пустой строке, строка str будет преобразована в массив символов.
Необязательный параметр. Целое число, определяющее ограничение на количество найденных подстрок. Метод split() всё равно разделяет строку на каждом сопоставлении с разделителем separator , но обрезает возвращаемый массив так, чтобы он содержал не более limit элементов.
Описание
Метод split() возвращает новый массив.
Если разделитель separator найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка str будет преобразована в массив символов.
Если разделитель является регулярным выражением, содержащим подгруппы, то каждый раз при сопоставлении с разделителем, результаты (включая те, что не определены) захвата подгруппы будут помещаться внутрь выходного массива. Однако, не все браузеры поддерживают эту возможность.
Примечание: Если строка является пустой строкой, метод split() вернёт массив, состоящий из одной пустой строки, а не пустой массив.
Примеры
Пример: использование метода split()
В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.
function splitString(stringToSplit, separator) var arrayOfStrings = stringToSplit.split(separator); console.log('Оригинальная строка: "' + stringToSplit + '"'); console.log('Разделитель: "' + separator + '"'); console.log( "Массив содержит " + arrayOfStrings.length + " элементов: " + arrayOfStrings.join(" / "), ); > // Строчка из «Бури» Шекспира. Перевод Михаила Донского. var tempestString = "И как хорош тот новый мир, где есть такие люди!"; var monthString = "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек"; var space = " "; var comma = ","; splitString(tempestString, space); splitString(tempestString); splitString(monthString, comma);
Пример сгенерирует следующий вывод:
Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!" Разделитель: " " Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди! Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!" Разделитель: "undefined" Массив содержит 1 элементов: И как хорош тот новый мир, где есть такие люди! Оригинальная строка: "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек" Разделитель: "," Массив содержит 12 элементов: Янв / Фев / Мар / Апр / Май / Июн / Июл / Авг / Сен / Окт / Ноя / Дек
Пример: удаление пробелов из строки
В следующем примере метод split() ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная nameList является массивом, возвращённым в результате работы метода split() .
var names = "Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд "; console.log(names); var re = /\s*;\s*/; var nameList = names.split(re); console.log(nameList);
Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.
Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
Пример: возврат ограниченного числа подстрок
В следующем примере метод split() ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.
var myString = "Привет, мир. Как дела?"; var splits = myString.split(" ", 3); console.log(splits);
Вывод скрипта будет следующим:
,,мир.,Как
Пример: захват подгрупп
Если параметр separator содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.
var myString = "Привет 1 мир. Предложение номер 2."; var splits = myString.split(/(\d)/); console.log(splits);
Вывод скрипта будет следующим:
,1, мир. Предложение номер ,2,.
Пример: обращение строки при помощи метода split()
var str = "фывапролд"; var strReverse = str.split("").reverse().join(""); // 'длорпавыф' // split() возвращает массив, к которому применяются методы reverse() и join()
Бонус: используя оператор === (en-US), можно проверить, являлась ли строка палиндромом.
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-string.prototype.split |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- String.prototype.charAt()
- String.prototype.indexOf()
- String.prototype.lastIndexOf()
- Array.prototype.join()
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
Руководство по использованию метода split в Python
Строки — отличный инструмент в руках Python-разработчиков. В Python строка —
это последовательность символов в кавычках. Она может включать числа, буквы и
символы. С помощью Python строку можно разделить на список подстрок по
определенному разделителю. Это делается с помощью метода split .
В этом материале разберем особенности его использования.
Что делает split в Python?
Функция split сканирует всю строку и разделяет ее в случае нахождения разделителя.
В строке должен быть как минимум один разделитель. Им может выступать в том
числе и символ пробела. Пробел — разделитель по умолчанию.
Если параметр на задать, то разделение будет выполнено именно по символу
пробела.
Синтаксис функции следующий:
string.split(separator*, maxsplit*)
Параметр separator — необязательный, но он позволяет задать разделитель
вручную.
Параметр maxsplit определяет максимальное количество разделений. Значение по
умолчанию — -1, будут выполнены все разделения.
Как разделить строку в Python
Метод .split() разделяет основную строку по разделителю и возвращает список строк.
Что делает функция split в Python?
Метод split() в Python разделяет строку на список подстрок по разделителю.
str.split(sep=None, maxsplit=-1)
- sep — необязательный параметр, позволяющий задать разделитель вручную. По умолчанию любой пробел является разделителем.
- maxsplit — необязательный параметр, указывающий максимальное количество разбиений, которое требуется выполнить. Если параметр указан,то выполняется не более maxsplit разбиений, то есть итоговый список будет содержать не более maxsplit+1 элементов. Если maxsplit не указан или равен -1, то ограничения на количество сплитов нет.
a = 'Пример работы метода split' print(a.split()) # => ['Пример', 'работы', 'метода', 'split'] num = '1, 2, 3, 4, 5' #Все параметры по умолчанию. print(num.split()) # => ['1,', '2,', '3,', '4,', '5'] # Указываем разделитель - ', ' print(num.split(', ')) # => ['1', '2', '3', '4', '5'] # Указываем разделитель и ограничиваем количество сплитов. print(num.split(', ', 2)) # => ['1', '2', '3, 4, 5']
Строковые методы split() и join() в Python
При работе со строками в Python вам может потребоваться разбить строку на подстроки или, наоборот, объединить несколько мелких кусочков в одну большую строку. В этой статье мы рассмотрим методы split() и join(), которые как раз и используются для разделения и объединения строк. Мы на примерах разберем, как они помогают легко выполнять необходимые нам задачи.
Важно отметить, что поскольку строки в Python неизменяемы, вы можете вызывать для них методы, не изменяя исходные строки. Итак, давайте начнем!
Метод split()
Когда вам нужно разбить строку на подстроки, вы можете использовать метод split().
Метод split() принимает строку и возвращает список подстрок. Синтаксис данного метода выглядит следующим образом:
Здесь – любая допустимая строка в Python, а sep – это разделитель, по которому вы хотите разделить исходную строку. Его следует указывать в виде строки.
Например, если вы хотите разделить по запятым, нужно установить sep = «,» .
sep – необязательный аргумент. По умолчанию метод split() разбивает строки по пробелам.
maxsplit – еще один опциональный аргумент, указывающий, сколько раз вы хотите разделить исходную строку . По умолчанию maxsplit имеет значение -1. При таком значении метод разбивает строку по всем вхождениям параметра sep.
Если вы хотите разделить исходную строку на две части, по первому вхождению запятой, вы можете установить maxsplit = 1 . Так вы получите две подстроки: части исходной строки до и после первой запятой.
Таким образом, при одном разрезе строки вы получаете 2 подстроки. При двух разрезах — 3 подстроки. то есть, разрезая строку k раз, вы получите k+1 фрагментов.
Давайте рассмотрим несколько примеров, чтобы увидеть метод split() в действии.
Примеры использования метода split() в Python
Зададим строку my_string , как это показанного ниже. После этого вызовем метод split() для my_string без аргументов sep и maxsplit .
my_string = "I code for 2 hours everyday" my_string.split() # ['I', 'code', 'for', '2', 'hours', 'everyday']
Вы можете видеть, что my_string разделена по всем пробелам. Метод возвращает список подстрок.
Рассмотрим следующий пример. Здесь my_string содержит названия фруктов, разделенные запятыми.
Давайте разделим my_string по запятым. Для этого нужно установить sep = «,» или просто передать в метод «,» при вызове.
my_string = "Apples,Oranges,Pears,Bananas,Berries" my_string.split(",") # ['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']
Как и ожидалось, метод split() вернул список фруктов, где каждый фрукт из my_string стал элементом списка.
Теперь давайте воспользуемся необязательным аргументом maxsplit и установив его равным 2.
my_string.split(",", 2) # ['Apples', 'Oranges', 'Pears,Bananas,Berries']
Попробуем разобрать получившийся список.
Напомним, что my_string = «Apples,Oranges,Pears,Bananas,Berries» , и мы решили разделить эту строку по запятым «,» .
Первая запятая стоит после Apples , и после первого разделения у нас будет две подстроки: Apples и Oranges,Pears,Bananas,Berries .
Вторая запятая стоит после Oranges . Таким образом, после второго деления у нас будет уже три подстроки: Apples , Oranges и Pears,Bananas,Berries .
Сделав два разреза строки, мы достигли установленного максимума, и дальнейшее деление невозможно. Поэтому часть строки после второй запятой объединяется в один элемент в возвращаемом списке.
Надеюсь, теперь вы понимаете, как работает метод split() и для чего нужны аргументы sep и maxsplit .
Метод join()
Теперь, когда вы знаете, как разбить строку на подстроки, пора научиться использовать метод join() для формирования строки из подстрок.
Синтаксис метода Python join() следующий:
Здесь – любой итерируемый объект Python, содержащий подстроки. Это может быть, например, список или кортеж. – это разделитель, с помощью которого вы хотите объединить подстроки.
По сути, метод join() объединяет все элементы в , используя в качестве разделителя.
А теперь пора примеров!
Примеры использования метода join() в Python
В предыдущем разделе мы разбивали строку my_string по запятым и получали в итоге список подстрок. Назовем этот список my_list .
Теперь давайте сформируем строку, объединив элементы этого списка при помощи метода join(). Все элементы в my_list – это названия фруктов.
my_list = my_string.split(",") # после разделения my_string мы получаем my_list: # ['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']
Обратите внимание, что разделитель для присоединения должен быть указан именно в виде строки. В противном случае вы столкнетесь с синтаксическими ошибками.
Чтобы объединить элементы в my_list с использованием запятой в качестве разделителя, используйте «,» а не просто , . Это показано во фрагменте кода ниже.
", ".join(my_list) # Output: Apples, Oranges, Pears, Bananas, Berries
Здесь элементы my_list объединяются в одну строку с помощью запятых, за которыми следуют пробелы.
Разделитель может быть любым.
Давайте для примера используем в качестве разделителя 3 символа подчеркивания ___ .
"___".join(my_list) # Output: Apples___Oranges___Pears___Bananas___Berries
Элементы в my_list теперь объединены в одну строку и отделены друг от друга тремя подчеркиваниями ___ .
Теперь вы знаете, как сформировать одну строку из нескольких подстрок с помощью метода join().
Заключение
Итак, мы рассмотрели строковые методы split() и join(). Из этой статьи вы узнали следующее:
- .split (sep, maxsplit) разбивает исходную строку по вхождениям разделителя sep , maxsplit раз.
- .join() объединяет подстроки в итерируемый объект , используя в качестве разделителя.
Надеюсь, вам была полезна данная статья. Успехов в написании кода!
Более 50 задач на строки в нашем телеграм канале Python Turbo. Уютное сообщество Python разработчиков.