InStr
Locates the first occurrence of a substring or character within a string
Syntax
`
Declare Function InStr ( 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
`
Usage
`
first = InStr( [ start, ] str, [ Any ] substring )
`
Parameters
`str`
The string where to search.
`substring`
The substring to find.
`start`
The position in `str` at which the search will begin. The first character starts at position 1.
Return Value
The position of the first occurrence of `substring` in `str`.
Description
Locates the position of the first occurrence of a substring or character within a string. In the first form of `InStr` (without `start` parameter), the search begins at the first character.
Zero (0) is returned if: either `substring` is not found, either `str` or `substring` are empty strings, or `start` < 1.
If the `Any` keyword is specified, `InStr` returns the first occurrence of any character in `substring`.
Example
`
' It will return 4
Print InStr("abcdefg", "de")
' It will return 0
Print InStr("abcdefg", "h")
' It will search for any of the characters "f", "b", "c", and return 2 as "b" is encountered first
Print InStr("abcdefg", Any "fbc")
`
`
Dim test As String
Dim idx As Integer
test = "abababab"
idx = InStr(test, "b")
Do While idx > 0 'if not found loop will be skipped
Print """b"" at " & idx
idx = InStr(idx + 1, Test, "b")
Loop
`

'A Unicode example: dim text as wstring*20 text = "Привет, мир!" print instr(text,"ет") ' displays 5

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

- `InStrRev`
- `Mid (Function)`