.NET Array Dictionary List String Sub ArrayList Cast Class Console Dates DataTable DateTime Enum File For Format If IndexOf Lambda LINQ Nothing Parse Process Property Regex Replace Select Sort Split StringBuilder SubstringIndexOf. This function returns the index of a substring. First it scans the String. And if the substring is not found, it returns -1.
Not found: If the string is not found, the result is -1. Often this is an important thing to test.
Result: In the example, the string "dog" is found in the input String, at index 5. It is not -1.
Finally: The console program prints the message inside the If-statement. True is written to the console.
Based on: .NET 4.5 VB.NET program that uses IndexOf Module Module1 Sub Main() ' Our input string. Dim animals As String = "cat, dog, bird" ' See if dog is contained in the string. If Not animals.IndexOf("dog") = -1 Then Console.WriteLine(True) End If End Sub End Module Output TrueLoop. Here we look at looping with IndexOf on Strings. Sometimes we need to locate the first index of a String, and then continue locating further instances.
Do while: You can accomplish this with a Do While construct and the IndexOf method.
Here: The example first declares the Dim String, which contains the letter 'a' in three places. Next, we call IndexOf on the String.
Info: The Do While loop continues until IndexOf returns -1. If the letter never occurs, the loop will never be entered.
VB.NET program that uses IndexOf, While Module Module1 Sub Main() ' The input String. Dim s As String = "You have a cat" ' The iteration variable. Dim i As Integer = s.IndexOf("a"c) ' Loop over the found indexes. Do While (i <> -1) ' Write the substring. Console.WriteLine(s.Substring(i)) ' Get next index. i = s.IndexOf("a"c, i + 1) Loop Console.ReadLine() End Sub End Module Output ave a cat a cat atFunctions. There are four functions in the IndexOf family available in VB.NET. Often we only need the first (IndexOf). But the others are occasionally valuable.
IndexOf: This finds the first index of a Char or String. You can specify start and ending indexes of where you want to search.
IndexOfAny: This function finds the first index of any of the characters in the Array you send it.
LastIndexOf: This starts searching from the end. It is the same as IndexOf in all other ways.LastIndexOf
LastIndexOfAny: This finds the last index of any of the characters in the Array it receives.LastIndexOfAny
VB.NET program that uses Substring Module Module1 Sub Main() ' The string you are searching. Dim s As String = "Visual Basic rocks" ' Find index of uppercase letter B. Dim i As Integer = s.IndexOf("B"c) ' This new string contains the substring starting at B. Dim part As String = s.Substring(i) Console.WriteLine(part) Console.ReadLine() End Sub End Module Output Basic rocksIndexOfAny. This receives an array of Chars as the argument. It then returns the index of the first one found. This is a way to simplify a search for multiple values.IndexOfAny
Contains: Result when substring exists: True. Result when substring does NOT exist: False.
IndexOf: Result when substring exists: >= 0. Result when substring does NOT exist: -1.
Note: A detailed benchmark is available on the C# version of this article. The underlying implementations are shared.