InStr
 
Находит первое вхождение подстроки или символа в строке

Синтаксис

Declare Function InStr Overload ( ByRef str As Const String, [ Any ] ByRef substring As Const String ) As Integer
Declare Function InStr ( ByRef str As Const WString, [ Any ] ByRef substring As Const WString ) As Integer
Declare Function InStr ( ByVal start As Integer, ByRef str As Const String, [ Any ] ByRef substring As Const String ) As Integer
Declare Function InStr ( ByVal start As Integer, ByRef str As Const WString, [ Any ] ByRef substring As Const WString ) As Integer

Использование

first = InStr( [ start, ] str, [ Any ] substring )

Параметры

str
Строка , в которой нужно произвести поиск.
substring
Подстрока , которую нужно найти.
start
Позиция в str , с которой начинается поиск. Первый символ начинается в позиции 1.

Возвращаемое значение

Позиция первого вхождения substring в str.

Описание

Находит позицию первого вхождения подстроки или символа в пределах строки. В первой форме InStr, поиск начинается с первого символа.

Возвращается ноль (0) , если substring не найдена, либо str или substring являются пустыми строками, или start < 1.

Если ключевое слово Any указано, InStr возвращает первое вхождение любого символа в substring.

Пример

' Это будет возвращать 4
Print InStr("abcdefg", "de")

Это будет возвращать 0
Print InStr("abcdefg", "h")

Instr будет искать любой из символов "f", "b", "c", и вернет 2 , так как "b" встречается первым
Print InStr("abcdefg", Any "fbc")

Dim test As String
Dim idx As Integer

test = "abababab"
idx = InStr(test, "b")

Do While idx > 0 'Если не найдено, цикл будет пропущен
    Print """b"" at " & idx
    idx = InStr(idx + 1, Test, "b")
Loop

 
Platform Differences

  • The wide-character string version of InStr is not supported for DOS target.

Differences from QB

  • QB returns start if search is a zero length string.
  • QB does not support Unicode.

See also
'Пример Unicode:
dim text as wstring*20
text = "Привет, мир!"
print instr(text,"ет") ' отобразит 5