Метод split
Метод split разбивает строки в массив по указанному в первом параметре разделителю. Если он не задан — вернется вся строка. Если он задан как пустые кавычки, то каждый символ строки попадет в отдельный элемент массива. Вторым необязательным параметром можно указать максимальное количество элементов в получившемся массиве.
Синтаксис
строка.split([разделитель], [максимальное количество элементов]);
Пример
Пусть дана некоторая строка с дефисами. Давайте разобьем эту строку в массив по разделителю ‘-‘ :
let str = ‘ab-cd-ef’; let arr = str.split(‘-‘); console.log(arr);
Результат выполнения кода:
Пример
Давайте опять разобьем строку по разделителю ‘-‘ , однако вторым параметром укажем максимальное количество элементов в получившемся массиве, например, 2 . В этом случае в массив запишется только 2 элемента:
let str = ‘ab-cd-ef’; let arr = str.split(‘-‘, 2); console.log(arr);
Результат выполнения кода:
Пример
Давайте каждый символ строки запишем в отдельный элемент массива:
let str = ‘abcde’; let arr = str.split(»); console.log(arr);
Результат выполнения кода:
Пример
Давайте первые 3 символа строки запишем в отдельные элементы массива:
let str = ‘abcde’; let arr = str.split(», 3); console.log(arr);
Результат выполнения кода:
Пример
Давайте с помощью split разобьем строку с числами. Обратите внимание на то, что в результате получится массив строк, а не массив чисел:
let str = ‘12345’; let arr = str.split(»); console.log(arr);
Результат выполнения кода:
Пример . Применение
Давайте перевернем символы строки в обратном порядке. Для этого разобьем строку в массив с помощью split по разделителю » (это разместит каждый символ строки в отдельный элемент массива), перевернем этот массив с помощью reverse и затем сольем перевернутый массив обратно с помощью join :
let str = ‘123456789’; let arr1 = str.split(»); let arr2 = arr1.reverse(); let res = arr2.join(»); console.log(res);
Результат выполнения кода:
Пример . Применение
Упростим решение предыдущей задачи — сольем все команды в цепочку:
let str = ‘123456789’; let res = str.split(»).reverse().join(»); console.log(res);
Результат выполнения кода:
Пример . Применение
Дана строка с цифрами. Найдем сумму цифр из этой строки. Для этого разобьем строку в массив, а затем переберем этот массив и найдем его сумму. Нас ждет подвох: split возвращает строки, поэтому при суммировании преобразуем эти цифры-строки в настоящие числа с помощью Number :
let str = ‘12345’; let arr = str.split(»); let sum = 0; for (let i = 0; i < arr.length; i++) < sum += Number(arr[i]); >console.log(sum);
Результат выполнения кода:
Пример . Применение
Дано число. Давайте запишем каждую цифру этого числа в отдельный элемент массива. Тут есть подвох — split применяется только к строкам, а у нас число. Преобразуем вначале число к строке с помощью String , а затем применим split :
let num = 12345; let str = String(num); let arr = str.split(»); console.log(arr);
Результат выполнения кода:
Смотрите также
- метод join ,
который сливает элементы массива в строку - метод split ,
который разбивает строку по регулярке - метод reverse ,
который изменяет порядок элементов в массиве на обратный - свойство length ,
которое позволяет узнать длину строки
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– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.
Как разделить строку на символы и записать сразу этот символ в массив?
Суть в чем, мне надо взять из массива элемент и разделить этот строковой элемент на символы, и поместить этот символ в ступенчатый массив, после чего проделать другие операции над этими символами, но проблема возникла на этапе перемещения символа в массив.
Вот пример того что я сделал:
har[][] array = new char[myarr_0.Length][]; // вот массив куда будем записывать символы for (int i = 0; i < myarr_0.Length; i++) < for (int j = 0; j < myarr_0[i].Length; j++) < array[i] = new char[myarr_0[i].Length]; s = Convert.ToInt32(myarr_0[i].ToCharArray()); // здесь всем и обрывается array[i][j] = Convert.ToChar(s); >>
возникшая ошибка (выше указанная) голосит следующие: » Не удалось привести тип объекта «System.Char[]» к типу «System.IConvertible». «
Я знаю как это делать с одной переменной:
string s = "Hello, World"; char[] array = s.ToCharArray(); // элементы массива – 'H', 'e', 'l', 'l'…
а вот так же проделать с элементом массива не получается.
(чисто на справку: вообще задача стоит так: узнать кол-во чисел которые делятся на сумму своих цифр на цело, но это не проблема, меня интересует проблема выше)
- Вопрос задан более трёх лет назад
- 2482 просмотра
Функции разбиения и слияния строк и массивов
Разбивает строку на подстроки, используя в качестве разделителя separator . separator должен быть константной строкой из ровно одного символа. Возвращается массив выделенных подстрок. Могут выделяться пустые подстроки, если разделитель идёт в начале или в конце строки, или если идёт более одного разделителя подряд.
Синтаксис
splitByChar(separator, s)
Аргументы
- separator — разделитель, состоящий из одного символа. String.
- s — разбиваемая строка. String.
Возвращаемые значения
Возвращает массив подстрок. Пустая подстрока, может быть возвращена, когда:
- Разделитель находится в начале или конце строки;
- Задано несколько последовательных разделителей;
- Исходная строка s пуста.
Пример
SELECT splitByChar(',', '1,2,3,abcde');