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

Ответить