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 to be searched.
   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 = "&#1055;&#1088;&#1080;&#1074;&#1077;&#1090;, &#1084;&#1080;&#1088;!"
print instr(text,"&#1077;&#1090;") ' 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)

