iamlorddop
@iamlorddop

Как убрать знаки препинания в value и получить количество слов?

Мне нужно написать функцию, которая считает количество слов, она и сейчас как бы их считает, но и учитывает знаки препинания, это естественно не нужно.

Я понимаю, что нужно использовать регулярное выражение, но не могу понять какой метод подойдет для этого.

Можете помочь?

const result = textarea.value.split(' ').length
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
@EvolveSunVolt
Чтобы убрать знаки препинания из строки и посчитать количество слов, можно использовать регулярное выражение в методе replace(), которое заменит все знаки препинания на пробелы, а затем воспользоваться методом split() для разделения строки на массив слов. Вот пример кода:

const input = document.querySelector('textarea');
const text = input.value;
const regex = /[^\w\s]|_/g; // регулярное выражение, которое находит все знаки препинания
const sanitizedText = text.replace(regex, ' '); // заменяем знаки препинания на пробелы
const words = sanitizedText.trim().split(/\s+/); // разделяем строку на массив слов
const wordCount = words.length; // получаем количество слов
console.log(wordCount);


Здесь мы используем регулярное выражение [^\w\s]|_ для поиска всех знаков препинания и символов подчеркивания. Знак ^ в квадратных скобках означает "не", то есть мы ищем все символы, которые не являются буквами или пробелами. Затем мы используем метод replace() для замены всех найденных символов на пробелы. Затем мы используем метод trim() для удаления лишних пробелов в начале и конце строки, а метод split(/\s+/) для разделения строки на массив слов по одному или нескольким пробелам. Наконец, мы получаем количество слов в массиве с помощью свойства length и выводим результат в консоль.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы