String.prototype.split()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
Сводка
ÐеÑод split() ÑÐ°Ð·Ð±Ð¸Ð²Ð°ÐµÑ Ð¾Ð±ÑÐµÐºÑ String на маÑÑив ÑÑÑок пÑÑÑм ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑÑоки Ñказанной подÑÑÑокой.
СинÑакÑиÑ
str.split([separator[, limit]])
ÐаÑамеÑÑÑ
separator-
ÐеобÑзаÑелÑнÑй паÑамеÑÑ. УказÑÐ²Ð°ÐµÑ ÑимволÑ, иÑполÑзÑемÑе в каÑеÑÑве ÑазделиÑÐµÐ»Ñ Ð²Ð½ÑÑÑи ÑÑÑоки. ÐаÑамеÑÑ
separatorÐ¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÐºÐ°Ðº ÑÑÑокой, Ñак и ÑегÑлÑÑнÑм вÑÑажением. ÐÑли паÑамеÑÑ Ð¾Ð¿ÑÑен, возвÑаÑÑннÑй маÑÑив бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð¾Ð´Ð¸Ð½ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ñо вÑей ÑÑÑокой. ÐÑли паÑамеÑÑ Ñавен пÑÑÑой ÑÑÑоке, ÑÑÑокаstrбÑÐ´ÐµÑ Ð¿ÑеобÑазована в маÑÑив Ñимволов. limit-
ÐеобÑзаÑелÑнÑй паÑамеÑÑ. Целое ÑиÑло, опÑеделÑÑÑее огÑаниÑение на колиÑеÑÑво найденнÑÑ Ð¿Ð¾Ð´ÑÑÑок. ÐеÑод
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()
ÐонÑÑ: иÑполÑзÑÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ ===, можно пÑовеÑиÑÑ, ÑвлÑлаÑÑ Ð»Ð¸ ÑÑÑока палиндÑомом.
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-string.prototype.split> |