Как сделать поиск по тексту в javascript
Узнаем, как создать функцию поиска по тексту в JavaScript с помощью примера. Объясним, как правильно искать и выводить результаты поиска.
Поиск по тексту в JavaScript позволяет пользователям быстро и легко находить информацию в текстовых строках. Это используется для поиска слов, идентификаторов, имён и других значений. Обычно поиск по тексту в JavaScript осуществляется с помощью двух методов: IndexOf () и LastIndexOf ().
Методы IndexOf () и LastIndexOf ()
Метод IndexOf () возвращает индекс первого вхождения заданного значения в строку. Например, следующий код возвращает индекс первого вхождения слова «строка» в строке:
let string = "Это пример строки";
let index = string.indexOf("строка");
console.log(index); // Выводит 8
Аналогично, метод LastIndexOf () возвращает индекс последнего вхождения заданного значения в строку. Например, следующий код возвращает индекс последнего вхождения слова «строка» в строке:
let string = "Это пример строки строки";
let index = string.lastIndexOf("строка");
console.log(index); // Выводит 17
Оба метода могут принимать дополнительные аргументы, которые указывают индекс, с которого начинается поиск. Например, следующий код возвращает индекс первого вхождения слова «строка» после индекса 10 в строке:
let string = "Это пример строки строки";
let index = string.indexOf("строка", 10);
console.log(index); // Выводит 17
Оба этих метода полезны для поиска значений в строках, но не работают для поиска регулярных выражений. Для этого используется метод match ().
Метод match ()
Метод match () принимает регулярное выражение, которое используется для поиска соответствий в строке. Например, следующий код ищет все слова, начинающиеся с буквы «с»:
let string = "Это пример строки строки";
let matches = string.match(/сw+/g);
console.log(matches); // Выводит ["строки", "строки"]
Метод match () возвращает массив со всеми соответствующими строками. В этом примере массив содержит два слова, начинающихся с буквы «с». Обратите внимание, что регулярное выражение обернуто в символы слэша. Это необходимо для того, чтобы JavaScript понимал, что мы передаем ему регулярное выражение.