Вступление
В 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()
, а также то, как его
использовать с регулярными выражениями.