String.prototype.split()
The split() method divides a String into an ordered list of substrings, puts these substrings into an array, and returns the array. The division is done by searching for a pattern; where the pattern is provided as the first parameter in the method’s call.
Try it
Syntax
Parameters
The pattern describing where each split should occur. The separator can be a simple string or it can be a regular expression.
- The simplest case is when separator is just a single character; this is used to split a delimited string. For example, a string containing tab separated values (TSV) could be parsed by passing a tab character as the separator, like this: myString.split(«\t») .
- If separator contains multiple characters, that entire character sequence must be found in order to split.
- If separator is omitted or does not occur in str , the returned array contains one element consisting of the entire string.
- If separator appears at the beginning (or end) of the string, it still has the effect of splitting. The result is an empty (i.e. zero length) string, which appears at the first (or last) position of the returned array.
- If separator is an empty string ( «» ), str is converted to an array of each of its UTF-16 «characters».
Warning: When the empty string ( «» ) is used as a separator, the string is not split by user-perceived characters (grapheme clusters) or unicode characters (codepoints), but by UTF-16 codeunits. This destroys surrogate pairs. See «How do you get a string to a character array in JavaScript?» on StackOverflow.
A non-negative integer specifying a limit on the number of substrings to be included in the array. If provided, splits the string at each occurrence of the specified separator , but stops when limit entries have been placed in the array. Any leftover text is not included in the array at all.
- The array may contain fewer entries than limit if the end of the string is reached before the limit is reached.
- If limit is 0 , [] is returned.
Return value
An Array of strings, split at each point where the separator occurs in the given string.
Description
When found, separator is removed from the string, and the substrings are returned in an array.
If separator is a regular expression with capturing parentheses, then each time separator matches, the results (including any undefined results) of the capturing parentheses are spliced into the output array.
If the separator is an array, then that Array is coerced to a String and used as a separator.
Examples
Using split()
When the string is empty and no separator is specified, split() returns an array containing one empty string, rather than an empty array. If the string and separator are both empty strings, an empty array is returned.
The following example defines a function that splits a string into an array of strings using separator . After splitting the string, the function logs messages indicating the original string (before the split), the separator used, the number of elements in the array, and the individual array elements.
This example produces the following output:
Removing spaces from a string
In the following example, split() looks for zero or more spaces, followed by a semicolon, followed by zero or more spaces—and, when found, removes the spaces and the semicolon from the string. nameList is the array returned as a result of split() .
This logs two lines; the first line logs the original string, and the second line logs the resulting array.
Returning a limited number of splits
In the following example, split() looks for spaces in a string and returns the first 3 splits that it finds.
This script displays the following:
Splitting with a RegExp to include parts of the separator in the result
If separator is a regular expression that contains capturing parentheses ( ) , matched results are included in the array.
This script displays the following:
Note: \d matches the character class for digits between 0 and 9.
split
Строка бьется по separator , при разбивании separator пропадает:
Если separator не указан или совпадений нет, то возвращаемый массив состоит из одного элемента — исходной строки.
Если separator является регулярным выражением со вложенными скобками, то каждый раз при совпадении separator все результаты захвата скобками, включая undefined результаты, добавляются в выходной массив.
Если вызывающая строка пуста, то split возвращает массив из одной пустой строки, а не пустой массив.
Следующий пример делит по ‘,’ и убирает лишние пробелы вокруг запятой.
Это поведение отличается от принятого во многих языках програмирования.
Следующий пример иллюстрирует добавление в массив результатов захвата вложенными скобками.
Благодаря скобкам, найденный разделитель separator сохранился и вошел в результирующий массив.
См. также
Можно ли по аналогии с myString.split(/(\d)/)
использовать что-то вроде myString.split(/(\[A-Za-z0-9])/) ?
Естественно это не работает, но что-то в этом духе
> myString.split(/(\[A-Za-z0-9])/)
Конечо не будет работать, тут ошибка синтаксиса.
Как найти отдельные слова и строчки в кавычках? В поисковых строках обычно когда надо найти фразу, то её берут в кавычки. Например:
word «big phrase»
Такой текст должен быть разделён на два элемента массива:
1) word
2) big phrase
Как это сделать?
Тут нужны регэкспы либо разбор по токенам.
Я понимаю, что нужны регэкспы, я не понимаю, как их написать.
Alert показывает только «big phrase», а надо, чтобы одна строчка массива — word, другая — «big phrase».
JavaScript Split — Как разбить строку на массив в JS
Как правило, строка представляет собой последовательность символов в любом языке программирования.
Давайте рассмотрим пример строки, созданной с использованием последовательности символов: «Yes, You Can DO It!». В JavaScript мы можем создать строку двумя способами:
-
Использование строкового литерала как примитива
Один интересный факт о строках в JavaScript заключается в том, что мы можем получить доступ к символам в строке, используя ее индекс. Индекс первого символа равен 0, и он увеличивается на 1. Итак, мы можем получить доступ к каждому из символов строки следующим образом:
Каждый символ строки имеет собственный индекс (порядковый номер)

Помимо возможности доступа к строковым символам по их индексам, JavaScript также предоставляет множество служебных методов для доступа к символам, извлечения части строки и управления ею.
В этой статье вы узнаете о удобном строковом методе split ().
Метод split () в JavaScript
Метод split () разбивает (делит) строку на две или более подстроки в зависимости от разделителя. Разделитель может быть одним символом, другой строкой или регулярным выражением.
После разделения строки на несколько подстрок метод split () помещает их в массив и возвращает его. Он не вносит никаких изменений в исходную строку.
Давайте разберемся, как это работает, на примере. Вот строка, созданная с использованием строковых литералов:
Мы можем вызвать метод split () для строки message. Давайте разделим строку на основе символа пробела (' '). Здесь символ пробела действует как разделитель.
Основная цель метода split () — получить интересующие вас фрагменты из строки, чтобы использовать их в любых дальнейших сценариях.
Как разбить строку по каждому символу
Вы можете разделить строку по каждому символу, используя пустую строку ('') в качестве разделителя. В приведенном ниже примере мы разбиваем ту же строку message, используя пустую строку. Результатом разделения будет массив, содержащий все символы в строке message.
Обратите внимание, что разделение пустой строки ('') с использованием пустой строки в качестве разделителя возвращает пустой массив.
Как разбить строку на один массив
Вы можете вызвать метод split () для строки без разделителя . Это означает, что методу split () не передаются никакие аргументы.
Когда вы вызываете метод split () для строки без разделителя, он возвращает массив, содержащий всю строку.
Обратите внимание еще раз: вызов метода split () для пустой строки ('') без разделителя вернет массив с пустой строкой. Он не возвращает пустой массив.
Вот два примера, чтобы вы могли увидеть разницу:
Как разбить строку с помощью несовпадающего символа
Обычно мы используем разделитель, который является частью строки, которую мы пытаемся разделить. Могут быть случаи, когда вы могли передать разделитель, который не является частью строки или не соответствует какой-либо ее части. В этом случае метод split () возвращает массив со всей строкой в качестве элемента.
В приведенном ниже примере в строке сообщения нет символа запятой (,). Попробуем разделить строку с помощью разделительной запятой (,).
Как разделиться с используя limit
Если вы думали, что метод split () принимает только разделитель как необязательный параметр, позвольте мне сказать вам, что есть еще один. Вы также можете передать limit в качестве необязательного параметра методу split().
В приведенном ниже примере мы разделяем строку, используя пробел (' ') в качестве разделителя. Мы также передаем число 4 как limit. Метод split () возвращает массив всего из четырех элементов, игнорируя остальные.
Как использовать split вместе с регулярным выражением
Мы также можем передать регулярное выражение (regex) как разделитель методу split (). Давайте рассмотрим эту строку для разделения:
Разделим эту строку по точке (.), Восклицательному знаку (!) И вопросительному знак у(?). Мы можем написать регулярное выражение, которое идентифицирует появление этих символов. Затем мы передаем регулярное выражение методу split() и вызываем его в указанной выше строке.
Получим следующий результат:
Вы можете использовать параметр limit, чтобы ограничить вывод только первыми тремя элементами, например:
Если вы хотите захватить символы, используемые в регулярных выражениях в выходном массиве, вам нужно немного настроить регулярное выражение. Используйте круглые скобки для захвата совпадающих символов. Обновленное регулярное выражение будет /( [. ] )/.
Как заменить символы в строке с помощью метода Split()
Вы можете решить множество интересных задач, используя метод split () в сочетании с другими методами строк и массивов. Посмотрим подро. Обычным вариантом использования может быть замена всех вхождений символа в строке другим символом.
Например, вы можете захотеть создать идентификатор HTML-элемента из значения имени. Значение имени может содержать пробел (''), но в HTML значение id не должно содержать пробелов. Сделать это можно следующим образом:
ES6: Как разделить с деструктуризацией массива
ECMAScript2015 (ES6) представил более инновационный способ извлечения элемента из массива и присвоения его переменной. Этот умный синтаксис известен как деструктуризация массива. Мы можем использовать это с методом split (), чтобы легко назначить вывод переменной с меньшим количеством кода.
Здесь мы разделяем имя и фамилию, используя пробел в качестве разделителя. Затем мы присваиваем возвращенные значения из массива паре переменных (firstName и lastName), используя синтаксис Array Destructuring.