aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/global_objects/string/split
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/string/split')
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/split/index.html229
1 files changed, 229 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/string/split/index.html b/files/ru/web/javascript/reference/global_objects/string/split/index.html
new file mode 100644
index 0000000000..90f94de449
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/split/index.html
@@ -0,0 +1,229 @@
+---
+title: String.prototype.split()
+slug: Web/JavaScript/Reference/Global_Objects/String/split
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+ - регулярные выражения
+translation_of: Web/JavaScript/Reference/Global_Objects/String/split
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>split()</code></strong> разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк путём разделения строки указанной подстрокой.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>str</var>.split([<var>separator</var>[, <var>limit</var>]])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>separator</code></dt>
+ <dd>Необязательный параметр. Указывает символы, используемые в качестве разделителя внутри строки. Параметр <code>separator</code> может быть как строкой, так и {{jsxref("Global_Objects/RegExp", "регулярным выражением", "", 1)}}. Если параметр опущен, возвращённый массив будет содержать один элемент со всей строкой. Если параметр равен пустой строке, строка <code>str</code> будет преобразована в массив символов.</dd>
+ <dt><code>limit</code></dt>
+ <dd>Необязательный параметр. Целое число, определяющее ограничение на количество найденных подстрок. Метод <code>split()</code> всё равно разделяет строку на каждом сопоставлении с разделителем <code>separator</code>, но обрезает возвращаемый массив так, чтобы он содержал не более <code>limit</code> элементов.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>split()</code> возвращает новый массив.</p>
+
+<p>Если разделитель <code>separator</code> найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка <code>str</code> будет преобразована в массив символов.</p>
+
+<p>Если разделитель является регулярным выражением, содержащим подгруппы, то каждый раз при сопоставлении с разделителем, результаты (включая те, что не определены) захвата подгруппы будут помещаться внутрь выходного массива. Однако, не все браузеры поддерживают эту возможность.</p>
+
+<p>{{Note("Если строка является пустой строкой, метод <code>split()</code> вернёт массив, состоящий из одной пустой строки, а не пустой массив.")}}</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_split" name="Example:_Using_split">Пример: использование метода <code>split()</code></h3>
+
+<p>В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.</p>
+
+<pre class="brush: js notranslate">function splitString(stringToSplit, separator) {
+ var arrayOfStrings = stringToSplit.split(separator);
+
+ console.log('Оригинальная строка: "' + stringToSplit + '"');
+ console.log('Разделитель: "' + separator + '"');
+ console.log('Массив содержит ' + arrayOfStrings.length + ' элементов: ' + arrayOfStrings.join(' / '));
+}
+
+// Строчка из «Бури» Шекспира. Перевод Миxаила Донского.
+var tempestString = 'И как хорош тот новый мир, где есть такие люди!';
+var monthString = 'Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек';
+
+var space = ' ';
+var comma = ',';
+
+splitString(tempestString, space);
+splitString(tempestString);
+splitString(monthString, comma);
+</pre>
+
+<p>Пример сгенерирует следующий вывод:</p>
+
+<pre class="notranslate">Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+Разделитель: " "
+Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди!
+
+Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+Разделитель: "undefined"
+Массив содержит 1 элементов: И как хорош тот новый мир, где есть такие люди!
+
+Оригинальная строка: "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек"
+Разделитель: ","
+Массив содержит 12 элементов: Янв / Фев / Мар / Апр / Май / Июн / Июл / Авг / Сен / Окт / Ноя / Дек
+</pre>
+
+<h3 id="Example_Removing_spaces_from_a_string" name="Example:_Removing_spaces_from_a_string">Пример: удаление пробелов из строки</h3>
+
+<p>В следующем примере метод <code>split()</code> ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная <code>nameList</code> является массивом, возвращённым в результате работы метода <code>split()</code>.</p>
+
+<pre class="brush: js notranslate">var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
+
+console.log(names);
+
+var re = /\s*;\s*/;
+var nameList = names.split(re);
+
+console.log(nameList);
+</pre>
+
+<p>Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.</p>
+
+<pre class="notranslate">Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
+Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
+</pre>
+
+<h3 id="Example_Returning_a_limited_number_of_splits" name="Example:_Returning_a_limited_number_of_splits">Пример: возврат ограниченного числа подстрок</h3>
+
+<p>В следующем примере метод <code>split()</code> ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.</p>
+
+<pre class="brush: js notranslate">var myString = 'Привет, мир. Как дела?';
+var splits = myString.split(' ', 3);
+
+console.log(splits);
+</pre>
+
+<p>Вывод скрипта будет следующим:</p>
+
+<pre class="brush: js notranslate">Привет,,мир.,Как
+</pre>
+
+<h3 id="Example_Capturing_parentheses" name="Example:_Capturing_parentheses">Пример: захват подгрупп</h3>
+
+<p>Если параметр <code>separator</code> содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.</p>
+
+<pre class="brush: js notranslate">var myString = 'Привет 1 мир. Предложение номер 2.';
+var splits = myString.split(/(\d)/);
+
+console.log(splits);
+</pre>
+
+<p>Вывод скрипта будет следующим:</p>
+
+<pre class="brush: js notranslate">Привет ,1, мир. Предложение номер ,2,.
+</pre>
+
+<h3 id="Example_Reversing_a_String_using_split" name="Example:_Reversing_a_String_using_split">Пример: обращение строки при помощи метода <code>split()</code></h3>
+
+<pre class="brush: js notranslate">var str = 'фывапролд';
+var strReverse = str.split('').reverse().join(''); // 'длорпавыф'
+// split() возвращает массив, к которому применяются методы reverse() и join()
+</pre>
+
+<p><strong>Бонус:</strong> используя оператор {{jsxref("Operators/Comparison_Operators", "===", "#Identity_.2F_strict_equality_(.3D.3D.3D)")}}, можно проверить, являлась ли строка палиндромом.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.1.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.14', 'String.prototype.split')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.split', 'String.prototype.split')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.charAt()")}}</li>
+ <li>{{jsxref("String.prototype.indexOf()")}}</li>
+ <li>{{jsxref("String.prototype.lastIndexOf()")}}</li>
+ <li>{{jsxref("Array.prototype.join()")}}</li>
+</ul>