JS метод String.search()
Загальний опис
Метод String.prototype.search()
є важливим інструментом для пошуку в рядках. Він дозволяє швидко знайти позицію (індекс) першого входження певного шаблону в рядку. Цей метод часто використовується для перевірки наявності певного тексту в рядку та отримання його позиції, що є корисним у різноманітних сценаріях, таких як обробка текстових даних або валідація форм.
Основний спосіб використання search()
полягає в передачі регулярного виразу або рядка як аргументу. Метод повертає індекс першого входження шаблону в рядку, або -1
, якщо шаблон не знайдено. Наприклад:
let text = "Привіт, світ!";
let index = text.search("світ");
console.log(index); // Виведе 8, тому що "світ" починається з 8-го символу
String.prototype.search()
може бути особливо корисним при використанні регулярних виразів, що дозволяє здійснювати більш складні пошуки. Наприклад, для знаходження позиції першого входження слова, що починається з великої літери, можна використовувати такий код:
let text = "це випадковий Текст";
let index = text.search(/[А-Я]/);
console.log(index); // Виведе 14, позиція великої літери "Т"
Основна особливість методу search()
полягає в тому, що він завжди повертає індекс першого входження шаблону в рядку. Це відрізняє його від методів, таких як match()
, який може повертати всі входження шаблону. Також важливо відзначити, що search()
не змінює оригінальний рядок.
Метод search()
є незамінним інструментом для виконання різноманітних завдань, пов'язаних із текстовою обробкою в JavaScript, пропонуючи простий, але потужний спосіб пошуку в рядках.
Нотатка: |
|
Порада: | Коли використовуєте регулярні вирази як аргумент для |
Порада: | Важливо розуміти, що |
Порада: | Метод |
Синтаксис
search(regexp)
Параметри
- *
regexp
Об'єкт регулярного виразу або будь-який об'єкт, який має метод
Symbol.search
, використовується для визначення шаблону, який буде шукатися у рядку.
Return
index
Повертає індекс першого збігу між регулярним виразом та заданим рядком, або
-1
, якщо збігів не знайдено. Цей результат є числовим значенням, яке вказує позицію початку збігу у рядку. Якщо метод не знаходить жодного збігу, результатом буде-1
, що може бути використано для перевірки на відсутність шаблону в рядку.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
4 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі, користувач вводить рядок та підрядок для пошуку. Після натискання кнопки "Шукати", скрипт використовує метод search()
для знаходження підрядка в рядку. Результат - позиція першого входження - виводиться на екран. Цей приклад демонструє використання search()
для пошуку в рядках, дозволяючи користувачам взаємодіяти з веб-сторінкою динамічно.
У цьому прикладі ми використовуємо метод String.prototype.search()
для знаходження позиції певного слова у рядку. Цей метод повертає індекс першого входження шуканого слова в рядку, або -1, якщо слово не знайдено.
// Визначення вихідного рядка
let sentence = "Швидка коричнева лисиця перестрибнула через ледачого собаку.";
// Пошук слова "лисиця" в рядку
let index = sentence.search("лисиця");
console.log(index);
// Виведе: 13 (індекс, де починається слово "лисиця")
У цьому більш складному прикладі, ми використовуємо String.prototype.search()
з регулярним виразом для пошуку слова у рядку, незалежно від регістру. Це показує, як search()
може бути гнучко використаний з регулярними виразами для більш складних завдань пошуку.
// Визначення вихідного рядка
let text = "Швидка коричнева лисиця перестрибнула через ледачого собаку.";
// Створення регулярного виразу для пошуку слова "ЛИСИЦЯ" (незалежно від регістру)
let regex = /лисиця/i;
// Пошук за допомогою регулярного виразу
let position = text.search(regex);
console.log(position);
// Виведе: 13 (індекс, де починається слово "лисиця", незалежно від регістру)