Strings.InStr Method (Int32, String, String, CompareMethod)
Returns an integer specifying the start position of the first occurrence of one string within another.
Assembly: Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)
public static int InStr( int Start, string String1, string String2, CompareMethod Compare )
Parameters
- Start
- Type: System.Int32
Optional. Numeric expression that sets the starting position for each search. If omitted, search begins at the first character position. The start index is 1-based.
- String1
- Type: System.String
Required. String expression being searched.
- String2
- Type: System.String
Required. String expression sought.
- Compare
- Type: Microsoft.VisualBasic.CompareMethod
Optional. Specifies the type of string comparison. If Compare is omitted, the Option Compare setting determines the type of comparison.
Return Value
Type: System.Int32If | InStr returns |
String1 is zero length or Nothing | 0 |
String2 is zero length or Nothing | start |
String2 is not found | 0 |
String2 is found within String1 | Position where match begins |
Start > length of String1 | 0 |
| Exception | Condition |
|---|---|
| ArgumentException | Start < 1. |
Typically, the InStr function is used when parsing strings.
Note |
|---|
The InStrB function in previous versions of Visual Basic returns a number of bytes rather than a character position. It is used primarily for converting strings in double-byte character set (DBCS) applications. All Visual Basic 2005 strings are in Unicode, and InStrB is no longer supported. |
The Compare argument settings are:
Constant | Value | Description |
Binary | 0 | Performs a binary comparison |
Text | 1 | Performs a text comparison |
This example uses the InStr function to return the position of the first occurrence of one string within another.
' String to search in. Dim SearchString As String = "XXpXXpXXPXXP" ' Search for "P". Dim SearchChar As String = "P" Dim TestPos As Integer ' A textual comparison starting at position 4. Returns 6. TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text) ' A binary comparison starting at position 1. Returns 9. TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary) ' If Option Compare is not set, or set to Binary, return 9. ' If Option Compare is set to Text, returns 3. TestPos = InStr(SearchString, SearchChar) ' Returns 0. TestPos = InStr(1, SearchString, "W")
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note