Вступление
В JavaScript есть множество полезных встроенных методов для работы со
строками, одним из которых является метод split() .
В этой статье мы более подробно рассмотрим метод split() и то, как мы
можем использовать его в сочетании с регулярными выражениями, чтобы
разделить длинную строку так, как мы хотим.
Метод JavaScript split ()
Когда метод split(delimiter, limit) используется для строки, он
возвращает массив подстрок и использует значение delimiter в
качестве разделителя. delimiter также можно указать как регулярное
выражение, которое затем будет использоваться для поиска в исходной
строке для поиска разделителей, соответствующих указанному выражению.
Кроме того, мы можем указать необязательный limit аргументов, который
указывает, сколько элементов мы хотим в нашем результирующем массиве
подстрок. Например, установка limit=2 даст массив, содержащий первые
две подстроки, разделенные разделителем в исходной строке:
const str = "JavaScript is the best programming language!";
const words = str.split(" ");
console.log(words);
Здесь строка будет разбита на каждое новое слово:
["JavaScript", "is", "the", "best", "programming", "language!" ]
Если мы установим в качестве разделителя что-то еще, например:
const chars = str.split("");
console.log(chars);
Строка будет разбита по каждому символу :
["J", "a", "v", "a", "S", "c", "r", "i", "p", "t", " ", "i", "s", " ", "t", "h", "e", " ", "b", "e", "s", "t", " ", "p", "r", "o", "g", "r", "a", "m", "m", "i", "n", "g", " ", "l", "a", "n", "g", "u", "a", "g", "e", "!"]
Регулярные выражения с методом split ()
Теперь, когда мы привыкли к использованию метода split() , давайте
сделаем шаг вперед и добавим в него регулярные выражения :
const paragraph = `The Answer to the Ultimate Question of Life, the Universe, and Everything is 42. Forty two. That's all there is.`;
// Split by words
const words = paragraph.split(" ");
console.log(words[2]);
// Split by sentences
const sentences = paragraph.split(/[!?.]/);
console.log(sentences[1]);
// Split all characters, with a limit of 2
const firstTwoChars = paragraph.split("", 2);
console.log(firstTwoChars);
// Split and reverse
const reverse = paragraph.split("").reverse().join("");
console.log(reverse);
Это приводит к:
to
Forty two
["T", "h" ]
.24 si gnihtyrevE dna ,esrevinU eht ,efiL fo noitseuQ etamitlU eht ot rewsnA ehT
Во втором примере мы передаем регулярное выражение в качестве
аргумента для метода split()
/[!?.]/представляет собой набор символов -!или?или.
Проще говоря, мы разбиваем строку по любому из указанных символов.
В третьем примере мы передаем 2 в качестве второго аргумента,
ограничивая результирующий массив подстрок двумя элементами.
В последнем примере мы переворачиваем строку, используя встроенный метод
reverse() Поскольку reverse() является методом массива, мы сначала
разделим исходную строку на массив отдельных символов, используя метод
split("") , а затем reverse() его.
Наконец, мы можем join() результаты, чтобы создать перевернутую строку
из массива символов.
Заключение
В этом руководстве мы быстро рассмотрели, как разбить строку в обычном
JavaScript. Мы рассмотрели встроенный split() , а также то, как его
использовать с регулярными выражениями.