JavaScript метод String.prototype.split()

Определение и применение

JavaScript метод split() позволяет разбить строки на массив подстрок, используя заданную строку разделитель для определения места разбиения.

Индексы и длины здесь измеряются в кодовых единицах UTF-16. Например, "😀".length равно 2; разрезание по индексу может разделить суррогатную пару. Исходная строка не изменяется.

При разделителе с захватывающими группами их значения тоже попадают в массив и учитываются в limit. limit: 0 даёт пустой массив. Без разделителя или при undefined возвращается массив из исходной строки.

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.String.split
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
split✓1✓12✓1✓3✓1✓18✓4✓10.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
// возвращает массив содержащий один элемент, состоящий из всей строки
string.split();

// использование строки разделителя для определения места разбиения
string.split( separator );

// использование строки разделителя для определения места разбиения с ограничением количества элементов результата
string.split( separator, limit );

Спецификация

ECMAScript: String.prototype.split()

Значения параметров

String: справочные сведения
Параметр Описание
separator Строка разделитель, которая обозначает точки, в которых должно происходить каждое разбиение. В качестве разделителя может выступать как строковое значение, так и регулярное выражение. При обнаружении разделитель удаляется из строки, а подстрока добавляется в массив. Если разделитель содержит более одного символа, то вся строка должна представлять точку разделения. Если разделитель опущен или не найден, то возвращаемый массив будет содержать один элемент, состоящий из всей строки. Если в качестве разделителя используется пустая строка, то строка разделяется между кодовыми единицами UTF-16. Необязательный параметр.
limit Целое число, указывающее максимальное количество элементов результата. Когда этот параметр задан, метод split() разбивает строку при каждом возникновении указанного разделителя, но останавливается, когда количество элементов в массиве достигнет заданного значения. Возвращаемый массив может содержать меньше записей, чем задано значением limit в том случае, если конец строки будет достигнут до достижения указанного предела. Необязательный параметр.

Примеры, попробуйте сами

В примере «Разделители и ограничение результата» показан результат вызова метода.

Разделители и ограничение результата

Измените исходную строку или аргумент метода и сравните результат после запуска.

index.html
HTML
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="UTF-8" />
    <title>Разделители и ограничение результата</title>
  </head>
  <body>
    <p>Результат выполнения выводится в консоль.</p>
  </body>
</html>
main.js
JavaScript
const string1 = 'H e l l o'
const string2 = 'W,o,r,l,d'
const string3 = 'abbaabbaabba'
const string4 = 'H e l l o w o r l d'
console.log(string1.split())
console.log(string1.split(' '))
console.log(string2.split(','))
console.log(string3.split('bb'))
console.log(string4.split(' ', 4))
console.log('a2b3c4d'.split(/[0-9]/))
console.log('a2b3'.split(/(\d)/))
console.log('abc'.split('', 0))