JavaScript | Как строку с текстом превратить в массив слов? — efim360.ru

JavaScript | Как строку с текстом превратить в массив слов?

Когда текст представлен в виде строки JavaScript, тогда из него можно получить слова. Осталось только решить, что считать словом. От этого зависит подход в решении данного вопроса.

Я предлагаю простой вариант реализации через регулярное выражение (RegExp) и его метод match():

/[А-яЁё]+/g[Symbol.match]("Вот раньше трава была зеленее, а люди добрее.")

Скриншот из консоли браузера:

Получили слова из текстовой строки - JavaScript
Получили слова из текстовой строки — JavaScript

 

Как это работает?

Регулярное выражение (RegExp) производит сопоставление шаблона по строке, от начала до самого конца (слева направо). Для этого устанавливается глобальный флаг — g.

Внутри шаблона работает Атом (Atom) с классом символа (CharacterClass), который оформляется квадратными скобками. Внутри класса символа перечисляются возможные символы, которые мы хотим искать при сопоставлении. В нашем случае мы ищем все возможные буквы русского алфавита — как строчные, так и заглавные.

Класс символа дополняется квантификатором +, который ищет максимально длинную последовательность из русских букв. Как только встречается пробел, сопоставление не происходит, а значит слово найдено.

 

Информационные ссылки

Стандарт ECMAScripthttps://tc39.es/ecma262/multipage/

Регулярные выражения по стандарту ECMAScripthttps://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects

Метод [ @@match ] ( string ) — https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp.prototype-@@match