|
Функция InStr | | Синтаксис InStr([start, ]string1, string2[, compare]) | Функция InStr служит для поиска номера символа (или номера байта для InStrB), с которого начинается в заданной строке образец поиска. Поиск идет от указанной позиции слева направо. Поиск вхождения одной строки в другую весьма часто используемая операция. Нумерация символов всегда начинается с единицы. Для поиска вхождения с конца строки используйте функцию InStrRev. | Параметры Наименование | Описание | Start | Необязательный. Числовое выражение, которое задает первую позицию для каждого поиска. Если параметр опущен, поиск начинается с позиции первого символа. В том случае, когда значение параметра Start равно Null, возникает ошибка. Параметр Start является обязательным, если задан параметр Compare
| String1 | Обязательный. Строковое выражение,в котором ведется поиск
| String2 | Обязательный. Отыскиваемое строковое выражение
| Compare | Необязательный. Задает тип сравнения для строк. Если значение параметра Compare равно Null, возникает ошибка. В том случае, когда параметр Compare опущен, тип сравнения определяется установками оператора Option Compare. Может принимать одно из следующих значений: vbUseCompareOption=-1
Используются установки, задаваемые оператором Option Compare. Используется по умолчанию
vbBinaryCompare=0
Двоичное сравнение. Сравнение строк производится по внутренним кодам символов, определяемых кодовой страницей. Буквы разных регистров считаются разными
vbTextCompare=1
Текстовое сравнение. Сравнение строк без учета регистра на основе системной национальной настройки
vbDatabaseCompare=2
Сравнение на основе установок, принятых в обрабатываемой базе данных. Применяется в MS Access |
| Замечания
StringCheck имеет нулевую
длину
|
0
|
StringCheck имеет значение Null
|
Null
|
StringMatch имеет нулевую
длину
|
Значение параметра Start
|
StringMatch имеет значение
Null
|
Null
|
StringMatch не найдена
|
0
|
StringMatch найдена внутри
StringCheck
|
Позиция, начиная с которой
найдено совпадение
|
Start > Len(StringMatch)
|
0
|
| Пример использования Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" 'строка, в которой будем искать
SearchChar = "P" 'будем искать символ "P"
'сравнение строк как текст начиная с позиции 4, возвращает 6
MyPos = InStr(4, SearchString, SearchChar, 1)
'бинарное сравнение строк начиная с позиции 1, возвращает 9
MyPos = InStr(1, SearchString, SearchChar, 0)
'бинарное сравнение строк по умолчанию (последний аргумент пропущен)
MyPos = InStr(SearchString, SearchChar) 'возвращает 9
MyPos = InStr(1, SearchString, "W") 'возвращает 0 | Дополнительная информация Категория: Обработка массивов и строк Еще функции: Array, Asc, Filter, InStr, InStrRev, Join, LBound, LCase, Left, Len, LTrim, Mid, Partition, Replace, Right, RTrim, Space, Spc, Split, StrComp, StrConv, String, StrReverse, Tab, Trim, UBound, UCase |
|
|