.NET Framework Class Library
String.IndexOf Method (String, Int32)

Reports the index of the first occurrence of the specified String in this instance. The search starts at a specified character position.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

Visual Basic (Declaration)
Public Function IndexOf ( _
    value As String, _
    startIndex As Integer _
) As Integer
Visual Basic (Usage)
Dim instance As String
Dim value As String
Dim startIndex As Integer
Dim returnValue As Integer

returnValue = instance.IndexOf(value, startIndex)
C#
public int IndexOf (
    string value,
    int startIndex
)
C++
public:
int IndexOf (
    String^ value, 
    int startIndex
)
J#
public int IndexOf (
    String value, 
    int startIndex
)
JScript
public function IndexOf (
    value : String, 
    startIndex : int
) : int

Parameters

value

The String to seek.

startIndex

The search starting position.

Return Value

The index position of value if that string is found, or -1 if it is not. If value is Empty, the return value is startIndex.
Exceptions

Exception typeCondition

ArgumentNullException

value is a null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

startIndex is negative.

-or-

startIndex specifies a position not within this instance.

Remarks

Index numbering starts from zero.

This method performs a word (case-sensitive and culture-sensitive) search using the current culture. The search begins at the startIndex character position of this instance and continues until the last character position.

Example

The following code example searches for all occurrences of a specified string within a target string.

Visual Basic
Imports System

Public Class IndexOfTest
    
    Public Shared Sub Main()
        Dim strSource As String = "This is the string which we will perform the search on"
        
        Console.WriteLine("The search string is:{0}{1}{0}", Environment.NewLine, strSource)
        Dim strTarget As String = ""
        Dim found As Integer = 0
        Dim totFinds As Integer = 0
        
        Do
            Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ")
            
            strTarget = Console.ReadLine()
            If strTarget <> "" Then
                Dim i As Integer
                
                
                For i = 0 To strSource.Length - 1
                    
                    found = strSource.IndexOf(strTarget, i)
                    If found > 0 Then
                        
                        totFinds += 1
                        i = found
                    Else
                        Exit For
                    End If
                Next i
            Else
                Return
            
            End If
            Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}", Environment.NewLine, strTarget, totFinds)
            
            totFinds = 0
        
        Loop While True
    End Sub 'Main
End Class 'IndexOfTest
C#
using System;

public class IndexOfTest {
    public static void Main() {

        string strSource = "This is the string which we will perform the search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);

        string strTarget = "";
        int found = 0;
        int totFinds = 0;

        do {
            Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");

            strTarget = Console.ReadLine();

            if (strTarget != "") {

                for (int i = 0; i < strSource.Length; i++) {

                    found = strSource.IndexOf(strTarget, i);

                    if (found > 0) {
                        totFinds++;
                        i = found;
                    }
                    else
                        break;
                }
            }
            else
                return;

            Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
                    Environment.NewLine, strTarget, totFinds);

            totFinds = 0;

        } while ( true );
    }
}
C++
using namespace System;
int main()
{
   String^ strSource = "This is the string which we will perform the search on";
   Console::WriteLine( "The search string is: {0}\"{1}\" {0}", Environment::NewLine, strSource );
   String^ strTarget = "";
   int found = 0;
   int totFinds = 0;
   do
   {
      Console::Write( "Please enter a search value to look for in the above string (hit Enter to exit) ==> " );
      strTarget = Console::ReadLine();
      if (  !strTarget->Equals( "" ) )
      {
         for ( int i = 0; i < strSource->Length; i++ )
         {
            found = strSource->IndexOf( strTarget, i );
            if ( found > 0 )
            {
               totFinds++;
               i = found;
            }
            else
                        break;

         }
      }
      else
            return 0;
      Console::WriteLine( "{0}The search parameter '{1}' was found {2} times. {0}", Environment::NewLine, strTarget, totFinds );
      totFinds = 0;
   }
   while ( true );
}
J#
import System.*;

public class IndexOfTest
{
    public static void main(String[] args)
    {
        String strSource = "This is the string which we will perform the "
            + "search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", 
            Environment.get_NewLine(), strSource);

        String strTarget = "";
        int found = 0;
        int totFinds = 0;

        do {
            Console.Write("Please enter a search value to look for in the "
                + "above string (hit Enter to exit) ==> ");
            strTarget = Console.ReadLine();
            
            if (!strTarget.Equals("")) {
                for (int i = 0; i < strSource.get_Length(); i++) {
                    found = strSource.IndexOf(strTarget, i);
                    if (found > 0) {
                        totFinds++;
                        i = found;
                    }
                    else {
                        break;
                    }
                }
            }
            else {
                return;
            }
            Console.WriteLine("{0}The search parameter '{1}' was found {2} "
                + "times.{0}", Environment.get_NewLine(), strTarget, 
                (Int32)totFinds);
            totFinds = 0;
        } while (true);
    } //main
} //IndexOfTest
JScript
import System;

public class IndexOfTest {
    public static function Main() : void {

        var strSource : String = "This is the string which we will perform the search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);

        var strTarget : String = "";
        var found : int = 0;
        var totFinds : int = 0;

        do {
            Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");

            strTarget = Console.ReadLine();

            if (strTarget != "") {

                for (var i : int = 0; i < strSource.Length; i++) {

                    found = strSource.IndexOf(strTarget, i);

                    if (found > 0) {
                        totFinds++;
                        i = found;
                    }
                    else
                        break;
                }
            }
            else
                return;

            Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
                    Environment.NewLine, strTarget, totFinds);

            totFinds = 0;

        } while ( true );
    }
}
IndexOfTest.Main();
Platforms

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
See Also

Tags :


Page view tracker