Как разделить строку в JavaScript
Вступление
В JavaScript есть много полезных встроенных методов для обработки строк, одним из которых является метод split().
В этой статье мы подробнее рассмотрим метод split() и то, как мы можем использовать его в сочетании с регулярными выражениями для разделения длинной строки именно так, как мы хотим.
Метод 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() и как использовать его с регулярными выражениями.