String.prototype.split()
========================

Сводка
------

Метод **`split()`** разбивает объект `String` на массив строк путём разделения строки указанной подстрокой.

Синтаксис
---------
```

str.split([separator[, limit]])
```

### Параметры

`separator`

Необязательный параметр. Указывает символы, используемые в качестве разделителя внутри строки. Параметр `separator` может быть как строкой, так и регулярным выражением. Если параметр опущен, возвращённый массив будет содержать один элемент со всей строкой. Если параметр равен пустой строке, строка `str` будет преобразована в массив символов.

`limit`

Необязательный параметр. Целое число, определяющее ограничение на количество найденных подстрок. Метод `split()` всё равно разделяет строку на каждом сопоставлении с разделителем `separator`, но обрезает возвращаемый массив так, чтобы он содержал не более `limit` элементов.

Описание
--------

Метод `split()` возвращает новый массив.

Если разделитель `separator` найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка `str` будет преобразована в массив символов.

Если разделитель является регулярным выражением, содержащим подгруппы, то каждый раз при сопоставлении с разделителем, результаты (включая те, что не определены) захвата подгруппы будут помещаться внутрь выходного массива. Однако, не все браузеры поддерживают эту возможность.

**Примечание:** Если строка является пустой строкой, метод `split()` вернёт массив, состоящий из одной пустой строки, а не пустой массив.

Примеры
-------

### Пример: использование метода `split()`

В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.


```js
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()`.


```js
var names = "Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ";

console.log(names);

var re = /\s\*;\s\*/;
var nameList = names.split(re);

console.log(nameList);
```


Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.
```

Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
```

### Пример: возврат ограниченного числа подстрок

В следующем примере метод `split()` ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.


```js
var myString = "Привет, мир. Как дела?";
var splits = myString.split(" ", 3);

console.log(splits);
```


Вывод скрипта будет следующим:


```js
Привет,,мир.,Как
```

### Пример: захват подгрупп

Если параметр `separator` содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.


```js
var myString = "Привет 1 мир. Предложение номер 2.";
var splits = myString.split(/(\d)/);

console.log(splits);
```


Вывод скрипта будет следующим:


```js
Привет ,1, мир. Предложение номер ,2,.
```

### Пример: обращение строки при помощи метода `split()`


```js
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 with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.charAt()`
* `String.prototype.indexOf()`
* `String.prototype.lastIndexOf()`
* `Array.prototype.join()`