JavaScript | Текст в массив предложений

У нас есть строка с текстом:

var stroka = "Хорошая погода. Красивая природа. Дует лёгкий, прохладный ветерок."

Мы рассмотрим идеальный сценарий, когда у нас между предложениями всего одна точка и всего один пробел. Исключения вроде «т. к. » мы рассматривать здесь не будем, потому что это уже индивидуальный сложный алгоритм, который требует тщательной проработки вопроса. Подобных исключений может быть много. Тут мы рассматриваем простой частый случай.

 

Решение

stroka.split(". ").map(i=>i.replace(/\.*$/,"."))

Видео

 

Другое решение

Как разделить текстовую строку на предложения и положить их в массив?

На первом этапе мы воспользуемся методом split() для нашей строки. В качестве разделителя будем использовать символ точки . т.к. точка символизирует окончание предложения в тексте.

var stroka = "Хорошая погода. Красивая природа. Дует лёгкий, прохладный ветерок."
stroka.split(".")
Разделили строку по символу точки в массив - JavaScript
Разделили строку по символу точки в массив — JavaScript

Нам вернулся массив, но не в том виде, в котором мы бы хотели его получить. Что именно не так?

Применение разделителя полностью вырезало сам символ точки на концах предложений. Начиная со второго элемента, мы получаем предложения с пробелом в начале строки. Последний элемент массива и вовсе пустой. Нам нужно немного улучшить наше выражение и дописать недостающий функционал.

Нас точно не будут интересовать пустые строки в элементах массива. Поэтому будет справедливо от них избавиться.

На втором этапе удаляем пустые строки из массива:

stroka.split(".").filter(i=>i!="")

На третьем этапе избавляемся от пробелов в начале строки.

stroka.split(".").filter(i=>i!="").map(i=>i.replace(/^ +/,""))
Удалили пробелы в начале строк - JavaScript
Удалили пробелы в начале строк — JavaScript

На четвёртом шаге нам нужно расставить точки на концах строк, чтобы превратить их в предложения.

stroka.split(".").filter(i=>i!="").map(i=>i.replace(/^ +/,"")).map(i=>i+".")

Задача выполнена

Добавили точки на концы строк - JavaScript
Добавили точки на концы строк — JavaScript

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

Массивы

Строки

Утверждения

Поделись записью