Как найти вхождения #слово в JS?

Для поиска вхождений определенного слова в JavaScript существует несколько способов. Вот несколько примеров:

1. Использование метода indexOf(): Метод indexOf() возвращает индекс первого вхождения указанного слова в строке, если оно найдено. В противном случае, метод возвращает -1. Пример:

let str = "Это пример предложения, в котором нужно найти слово.";
let word = "слово";

let index = str.indexOf(word);
if (index !== -1) {
   console.log(`Слово '${word}' найдено в позиции ${index}`);
} else {
   console.log(`Слово '${word}' не найдено`);
}

2. Использование регулярных выражений с методом test(): Метод test() выполняет поиск указанного слова в строке с использованием регулярного выражения. Возвращает true, если слово найдено, и false в противном случае. Пример:

let str = "Это пример предложения, в котором нужно найти слово.";
let word = /слово/;

if (word.test(str)) {
   console.log(`Слово найдено`);
} else {
   console.log(`Слово не найдено`);
}

3. Использование метода match(): Метод match() выполняет поиск всех вхождений указанного слова в строке с использованием регулярного выражения. Возвращает массив всех найденных вхождений. Пример:

let str = "Это пример предложения, в котором нужно найти слово.";
let word = /слово/g;

let matches = str.match(word);
if (matches) {
   console.log(`Найдено ${matches.length} вхождений слова: '${matches.join("', '")}'`);
} else {
   console.log(`Слово не найдено`);
}

4. Использование метода split() и метода filter(): Преобразуйте строку в массив слов с помощью метода split() и затем отфильтруйте массив, оставив только элементы, которые равны указанному слову. Пример:

let str = "Это пример предложения, в котором нужно найти слово.";
let word = "слово";

let wordsArray = str.split(" ");
let occurrences = wordsArray.filter((x) => x === word);

if (occurrences.length > 0) {
   console.log(`Найдено ${occurrences.length} вхождений слова '${word}'`);
} else {
   console.log(`Слово не найдено`);
}

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