Split
Делит String-объект на массив строк, разделяя строку на подстроки.
Метод из
Реализован в
ECMA-262 (если в качестве сепаратора строка)
ECMA-262 Edition 3 (если в качестве сепаратора регулярное выражение)
Синтаксис
split([separator][, limit])
Параметры
separator |
Специфицирует символ, используемый при разделении строки в качестве сепаратора. Он обрабатывается как строка или как регулярное выражение. Если сепаратор отсутствует, возвращаемый массив содержит один элемент - всю строку целиком.
limit
Целое число, специфицирующее ограничение количества находимых разделений.
Описание
Метод split возвращает новый массив.
Если найден, сепаратор удаляется из строки и подстрок, возвращаемых в массиве. Если сепаратор опущен, массив содержит один элемент - всю строку.
В JavaScript 1.2 и позже, split имеет следующие дополнения:
- Он может принимать регулярное выражение в качестве аргумента, а также фиксированную строку, по которым разделяется строка-объект. Если сепаратор - регулярное выражение, любые имеющиеся скобки вызывают включение подсовпадений в возвращаемый массив.
делит строку при каждом прогоне одним или более пробельными символами, включая пробелы, табуляцию, прогоны строки и возвраты каретки. Для этого LANGUAGE="JavaScript1.2" обязано быть специфицировано в тэге <SCRIPT>.
Примеры
Пример 1.
В этом примере определяется функция, которая делит строку на массив строк, используя специфицированный разделитель. После разделения строки, функция выводит сообщения, содержащие строку-оригинал (до разделения), используемый сепаратор, количество элементов массива и отдельные элементы массива.
function splitString (StringTosplit,separator) {
arrayOfStrings = StringTosplit.split(separator)
document.write ('<P>The original String is: "' + StringTosplit + '"')
document.write ('<BR>The separator is: "' + separator + '"')
document.write ("<BR>The array has " + arrayOfStrings.length + " elements: ")
for (var i=0; i < arrayOfStrings.length; i++) {
document.write (arrayOfStrings[i] + " / ")
}
}
var tempestString="Oh brave new world that has such people in it."
var monthString="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
var space=" "
var comma=","
splitString(tempestString,space)
splitString(tempestString)
splitString(monthString,comma)
Это пример производит следующий вывод:
The original String is: "Oh brave new world that has such people in it."
The separator is: " "
The array has 10 elements: Oh / brave / new / world / that / has / such / people / in / it. /
The original String is: "Oh brave new world that has such people in it."
The separator is: "undefined"
The array has 1 elements: Oh brave new world that has such people in it. /
The original String is: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
The separator is: ","
The array has 12 elements: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec /
Пример 2.
Рассмотри следующий скрипт:
<SCRIPT LANGUAGE="JavaScript1.2">
str="She sells seashells \nby the\n seashore"
document.write(str + "<BR>")
a=str.split(" ")
document.write(a)
</SCRIPT>
При использовании LANGUAGE="JavaScript1.2" это скрипт даст:
"She", "sells", "seashells", "by", "the", "seashore"
Без LANGUAGE="JavaScript1.2" этот скрипт разделит только по отдельным пробельным символам, что даст:
"She", "sells", , , , "seashells", "by", , , "the", "seashore"
Пример 3.
Здесь split ищет 0 или боле символов пробела с последующим символом "точка с запятой" с последующими 0 или более пробелами и, если совпадение найдено, удаляет пробелы из строки.
nameList это массив, возвращаемый как результат работы split.
<SCRIPT>
names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
document.write (names + "<BR>" + "<BR>");
re = /\s*;\s*/;
nameList = names.split (re);
document.write(nameList);
</SCRIPT>
В результате печатаются две строки; первая - строка-оригинал, вторая - результирующий массив.
Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
Пример 4.
В этом примере split ищет в строке 0 или более пробелов и возвращает первые три найденные разделения.
<SCRIPT LANGUAGE="JavaScript1.2">
myVar = " Hello World. How are you doing? ";
splits = myVar.split(" ", 3);
document.write(splits)
</SCRIPT>
Скрипт отображает:
["Hello", "World.", "How"]
См. также
, , .