Назначение: Ищет указанную строку или символ в строке.
Синтаксис: y& = INSTR ( [n&,] MainString, [ANY] MatchString )
Описание:
INSTR возвращает число, указывающее номер позиции первого вхождения строки MatchString в строке MainString.
n& - необязательный Long-integer параметр или выражение, MainString и MatchString - строки (выражения, строковые константы и т.д.).
Если n& больше нуля, то поиск в MainString происходит слева направо, начиная с n&-го символа, до первого вхождения MatchString.
Если же n& меньше нуля, то поиск в MainString происходит справа налево, до первого вхождения MatchString. Например, если n& = -1, то поиск начинается с последнего символа MainString, а при n& = -2, с предпоследнего символа и т.д. и т.п.
x& = INSTR(-2, "efcdef", ANY "ef")
Результат (x& ) будет равен 5.
Если MatchString не обнаружена в заданной части MainString, или n&, как позиция символа, расположена вне MainString, то INSTR возвращает 0. Если MatchString - пустая строка, то INSTR возвращает 1 (если n& не имеет место) или n& (если параметр n& был задан в INSTR).
ANY Если в функцию включено ключевое слово ANY, то это значит, что строка MatchString будет восприниматься список символов, а функция будет искать каждый из этих символов и выдаст результат(позицию в строке MainString) при нахождении любого(ANY) из них.
INSTR чувствительна к регистру, то есть символы в ВЕРХНЕМ и нижнем регистре должны совпадать как в MatchString так и в MainString.
Ограничения:
Если n& равен нулю, то INSTR возвратит ноль.
См. также:
EXTRACT$, LCASE$, LEFT$, LTRIM$, MID$, RIGHT$, RTRIM$, TALLY, TRIM$, UCASE$, VERIFY
Пример:
' x$ = first command-line argument, assuming
' spaces, commas, periods, and tabs are valid
' delimiters
IF INSTR (COMMAND$, ANY " ,." + CHR$(9)) > 0 THEN
x$ = "There is more than one command-line argument"
ELSE
x$ = "There is at most one command-line argument"
END IF
|