Strings.InStr Method

Definition

Returns an integer specifying the start position of the first occurrence of one string within another. The integer is a one-based index if a match is found. If no match is found, the function returns zero.

Overloads

InStr(Int32, String, String, CompareMethod)

Returns an integer specifying the start position of the first occurrence of one string within another.

InStr(String, String, CompareMethod)

Returns an integer specifying the start position of the first occurrence of one string within another.

InStr(Int32, String, String, CompareMethod)

Source:
Strings.vb
Source:
Strings.vb
Source:
Strings.vb

Returns an integer specifying the start position of the first occurrence of one string within another.

public static int InStr (int StartPos, string? String1, string? String2, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static int InStr (int Start, string? String1, string? String2, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static int InStr (int StartPos, string String1, string String2, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static int InStr (int Start, string String1, string String2, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);

Parameters

StartStartPos
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
String

Required. String expression being searched.

String2
String

Required. String expression sought.

Compare
CompareMethod

Optional. Specifies the type of string comparison. If Compare is omitted, the Option Compare setting determines the type of comparison.

Returns

IfInStr returns
String1 is zero length or Nothing0
String2 is zero length or Nothing start
String2 is not found0
String2 is found within String1 Position where match begins
Start > length of String10

Exceptions

Start < 1.

Examples

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")

Remarks

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

See also

Applies to

.NET 9 and other versions
Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

InStr(String, String, CompareMethod)

Source:
Strings.vb
Source:
Strings.vb
Source:
Strings.vb

Returns an integer specifying the start position of the first occurrence of one string within another.

public static int InStr (string? String1, string? String2, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static int InStr (string String1, string String2, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);

Parameters

String1
String

Required. String expression being searched.

String2
String

Required. String expression sought.

Compare
CompareMethod

Optional. Specifies the type of string comparison. If Compare is omitted, the Option Compare setting determines the type of comparison.

Returns

IfInStr returns
String1 is zero length or Nothing0
String2 is zero length or NothingThe starting position for the search, which defaults to the first character position.
String2 is not found0
String2 is found within String1Position where match begins.

Examples

This example uses the InStr function to return the position of the first occurrence of one string within another. In the first example, the search starts from the fourth character and returns the next lower case "p" because CompareMethod is Text and therefore case insensitive. The position is always relative to the beginning of the string, regardless of the start position.

' 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")

Remarks

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

See also

Applies to

.NET 9 and other versions
Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1