|
Returns the position of the first occurrence of one string within another.
InStr([start, ]string1, string2[, compare])
start
The 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. Optional.
string1
The string expression being searched. Required.
string2
The string expression searched for. Required.
compare
A numeric value indicating the kind of comparison to use when evaluating substrings. See Settings section for values. If omitted, a binary comparison is performed. Optional.
The compare argument can have the following values:
Constant |
Value |
Description |
vbBinaryCompare |
0 |
Perform a binary comparison. |
vbTextCompare |
1 |
Perform a textual comparison. |
The InStr function returns the following values:
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 > Len(string2) |
0 |
The following examples use InStr to search a string:
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1) ' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(1, SearchString, SearchChar, 0) ' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(SearchString, SearchChar) ' Comparison is binary by default (last argument is omitted). Returns 9.
MyPos = Instr(1, SearchString, "W") ' A binary comparison starting at position 1. Returns 0 ("W" is not found).
Note
The InStrB function is used 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.
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Legal Notice.