Returns the position of the first occurrence of one string within another.
InStr([start, ]string1, string2[, compare])
The InStr function syntax has these named arguments:
Part |
Description |
start |
Numeric expression that sets the starting position for each search. If omitted, search begins at the first character position. If start contains Null, an error occurs. The start argument is required if compare is specified. |
Part |
Description |
string1 |
String expression being searched. |
string2 |
String expression sought. |
compare |
Specifies the type of string comparison. The compare argument can be omitted, it can be 0 or 1, or it can be the value of the CollatingOrder property of a Field object. Specify 0 (default) to perform a binary comparison. Specify 1 to perform a textual, case-insensitive comparison. Specify the return value of the CollatingOrder property of a Field object if you want to sort or compare values from a database in the same way the database itself would. If compare is Null, an error occurs. The start argument is required if compare is specified. If compare is omitted, the Option Compare setting determines the type of comparison. |
If |
InStr returns |
string1 is zero-length |
0 |
string1 is Null |
Null |
string2 is zero-length |
start |
string2 is Null |
Null |
string2 is not found |
0 |
string2 is found within string1 |
Position at which match is found |
start > string2 |
0 |
Note Another function (InStrB) is provided for use with byte data contained in a string. Instead of returning the character position of the first occurrence of one string within another, InStrB returns the byte position.
Option Compare Statement.
This example uses the InStr function to return the position of the first occurrence of one string within another.
SearchString ="XXpXXpXXPXXP" ' String to search in.= "P" ' Search for "P". ' A textual comparison starting at position 4. Returns 6.= InStr(4, SearchString, SearchChar, 1) ' A binary comparison starting at position 1. Returns 9.= InStr(1, SearchString, SearchChar, 0) ' Comparison is binary by default (last argument is omitted).= InStr(SearchString, SearchChar) ' Returns 9.= InStr(1, SearchString, "W") ' Returns 0.