Как найти подстроку?
3 ноября 2014 г. Просмотров: 736
Работа со строковыми переменными - одна из самых распространенных задач в прикладном программировании. Этим определяется то, что встроенные функции поиска заданной подстроки в исходной строке есть практически в каждом языке программирования, а большинство из них предлагают даже несколько вариантов реализации этой операции. Ниже приведены описания нескольких функций этого рода применительно к клиентскому языку программирования JavaScript. Используйте функцию indexOf для организации поиска подстроки в строковой переменной при программировании сценариев на языке JavaScript. Для этой функции предусмотрено использование двух параметров, один из которых представляет собой искомую подстроку и является обязательным. Другой параметр может указывать индекс символа в строковой переменной, с которого следует начинать поиск подстроки - этот параметр не обязателен и по умолчанию равен нулю. Согласно правилам синтаксиса этого языка исходная строковая переменная должна быть написана перед функцией и отделена от нее точкой. Например:"Исходная строка".indexOf("строка", 2)Функция возвращает индекс первого встреченного ей вхождения указанной подстроки в исходную строку. В приведенном примере она вернет 9. Если вхождений найдено не будет, то indexOf вернет -1. Обратите внимание на то, что эта функция при поиске учитывает регистр букв. Применяйте функцию lastIndexOf для поиска вхождений подстроки в обратном направлении, то есть, начиная с последнего символа исходного строкового значения. Синтаксис lastIndexOf практически не имеет отличий от описанной выше функции - ей тоже можно передать два параметра, один из которых (искомая подстрока) обязателен. Второй параметр этой функции может указывать позицию начала поиска и отсчитываться должен в направлении от последнего символа к первому. Эта функция тоже учитывает регистр символов при поиске и возвращает -1, если вхождений не найдено. Образец:"Исходная строка".lastIndexOf("строка", 2)Эта функция вернет значение -1, так как поиск будет начат со второй от конца позиции исходной строки, что исключит нахождение искомого текста полностью. Воспользуйтесь функцией search для поиска вхождения подстроки с помощью регулярного выражения (regexp). Эта функция требует только одного параметра - регулярного выражения. В остальном синтаксис и возвращаемые значения совпадают с правилами для предыдущих функций. Образец:"Исходная строка".search(/строка/i)Этот пример тоже вернет значение 9. Разумеется, использование регулярного выражения предоставляет возможность намного более тонкой настройки поиска, но и требует использования значительно больших ресурсов системы, о чем не стоит забывать при программировании достаточно ресурсоемких скриптов.
Оцените статью!