C# | Método String.IndexOf( ) | Serie 1

En C#, el método IndexOf() es un método de string . Este método se utiliza para buscar el índice basado en cero de la primera aparición de un carácter o string especificados dentro de la instancia actual de la string. El método devuelve -1 si no se encuentra el carácter o la string. Este método se puede sobrecargar pasándole diferentes parámetros.

  • String.IndexOf(char x)
  • String.IndexOf(char x, int inicio1)
  • String.IndexOf(char x, int inicio1, int inicio2)
  • String.IndexOf(string s1)
  • String.IndexOf(string s1, int inicio1)
  • String.IndexOf(string s1, int inicio1, int inicio2)
  • String.IndexOf(string s1, int start1, int start2, StringComparison cType)
  • String.IndexOf(string s1, int start1, StringComparison cType)
  • String.IndexOf(string s1, StringComparison cType)

Método String.IndexOf(char x)

Este método devuelve el índice basado en cero de la primera aparición del carácter especificado dentro de la string. En caso de que no se encuentre dicho carácter, devuelve -1. 

Sintaxis:

public int IndexOf(char x)
  • Parámetros: este método toma un parámetro char x de tipo System.Char que especifica el carácter que se buscará.
  • Tipo de devolución: el tipo de devolución de este método es System.Int32 .

Ejemplo: en el siguiente código, el usuario desea conocer el índice del carácter ‘F’ dentro de la string especificada «GeeksForGeeks» y, como resultado, este método devuelve el resultado respectivo, principalmente la primera aparición del carácter ‘F’. También en el segundo caso, el carácter ‘C’ no estaba presente, por lo que simplemente devuelve -1. 

CSHARP

// C# program to illustrate the
// String.IndexOf(char x) method
using System;
namespace ConsoleApplication1 {
 
class Geeks {
 
    // Main Method
    static void Main(string[] args)
    {
 
        string str = "GeeksForGeeks";
 
        // Finding the index of character
        // which is present in string and
        // this will show the value 5
        int index1 = str.IndexOf('F');
         
        Console.WriteLine("The Index Value of character 'F' is " + index1);
 
        // Now finding the index of that character which
        //  is not even present with the string
        int index2 = str.IndexOf('C');
 
        // As expected, this will output value -1
        Console.WriteLine("The Index Value of character 'C' is " + index2);
    }
}
}

Producción:

The Index Value of character 'F' is 5
The Index Value of character 'C' is -1

Método String.IndexOf(char x, int start1)

Este método devuelve el índice basado en cero de la primera aparición del carácter especificado dentro de la string. Sin embargo, la búsqueda de ese carácter comenzará desde una posición específica y, si no se encuentra, devuelve -1. 

Sintaxis:

public int IndexOf(char x, int start1)
  • Parámetros: este método toma dos parámetros, es decir, char x de tipo System.Char que especifica el carácter que se buscará y start1 de tipo System.Int32 que especifica la posición de inicio en forma de valor entero desde donde se iniciará la búsqueda.
  • Tipo de devolución: el tipo de devolución de este método es System.Int32 .
  • Excepción: este método puede dar ArgumentOutOfRangeException si start1 es menor que 0 (cero) o mayor que la longitud de la string.

Ejemplo: en el siguiente código, el usuario desea conocer el índice del carácter ‘H’ dentro de la string especificada «HelloGeeks» y, como resultado, este método devuelve el índice respectivo del carácter ‘H’. Sin embargo, si start1 es mayor que 1, entonces es obvio devolver -1. 

CSHARP

// C# program to illustrate the
// String.IndexOf(char x, int start1) method
using System;
namespace ConsoleApplication2{
 
class Geeks {
 
    // Main Method
    static void Main(string[] args)
    {
 
        string str = "HelloGeeks";
 
        // Finding the index of character
        // which is present in string
        // this will show the value 0
        int index1 = str.IndexOf('H', 0);
   
 
        Console.WriteLine("The Index Value of character 'H' "+
                          "with start index 0 is " + index1);
 
        // Now finding the index of character
        // 'H' with starting position greater
        // than index position of 'H'
        int index2 = str.IndexOf('H', 5);
 
        // As expected, this will output value -1
        Console.WriteLine("The Index Value of character 'H' is " + index2);
    }
}
}

Producción:

The Index Value of character 'H' with start index 0 is 0
The Index Value of character 'H' is -1

Método String.IndexOf(char x, int start1, int start2)

Este método devuelve el índice basado en cero de la primera aparición del carácter especificado dentro de la string. Sin embargo, la búsqueda de ese carácter comenzará desde una posición especificada start1 hasta la posición especificada, es decir, start2 y, si no se encuentra, devuelve -1. 

Sintaxis:

public int IndexOf(char x, int start1, int start2)
  • Parámetros: este método toma tres parámetros, es decir, char x de tipo System.Char que especifica el carácter que se buscará, start1 de tipo System.Int32 que especifica la posición de inicio en forma de valor entero desde donde se iniciará la búsqueda y start2 de tipo System.Int32 que especifica la posición final donde se detendrá la búsqueda.
  • Tipo de devolución: el tipo de devolución de este método es System.Int32 .
  • Excepción: este método puede dar ArgumentOutOfRangeException si start1 o start2 es negativo o start1 es mayor que la longitud de la string actual o start2 es mayor que la longitud de la string actual menos start1 .

Ejemplo: en el siguiente código, el usuario desea conocer el índice del carácter ‘R’ dentro de la string especificada «Mi vida, mis reglas» y, como resultado, este método devuelve el valor de índice del carácter ‘R’. Nuevamente, para el caso de que start1>1 y start2<8, nuevamente devuelve -1 porque no encontró ningún carácter. 

CSHARP

// C# program to illustrate the
// String.IndexOf(char x, int start1,
//  int start2) method
using System;
namespace ConsoleApplication3 {
 
class Geeks {
 
    // Main Method
    static void Main(string[] args)
    {
 
        string str = "My Life My Rules";
 
        int index1 = str.IndexOf('R', 2, 14);
 
        // Here starting index is < Index value of 'R'
        // Also ending index is > Index of 'R'
        // Hence It is obvious to return 11
        Console.WriteLine("Index Value of 'R' with start"+
                          " Index =2 and end Index = 15 is " + index1);
 
        // Now here starting index is chosen right
        // However ending position is < index of 'R'
        // Surely it will return -1
        int index2 = str.IndexOf('R', 1, 8);
 
        Console.WriteLine("Index Value of 'R' with start"+
                          " Index = 1 and end Index = 8 is " + index2);
    }
}
}

Producción:

Index Value of 'R' with start Index =2 and end Index = 15 is 11
Index Value of 'R' with start Index = 1 and end Index = 8 is -1

Método String.IndexOf(string s1)

Este método devuelve el índice basado en cero de la primera aparición de la substring especificada dentro de la string. En caso de que no se encuentre tal string, devuelve -1 igual que en el caso de los caracteres.

Sintaxis:

public int IndexOf(string s1)
  • Parámetros: este método toma un parámetro s1 de tipo System.String que especifica la substring que se buscará.
  • Tipo de devolución: el tipo de devolución de este método es System.Int32 . La posición de índice de base cero de s1 si se encuentra esa string, o -1 si no se encuentra. Si s1 es String.Empty, el valor devuelto es 0.
  • Excepción: este método puede dar ArgumentNullException si el s1 es nulo.

Ejemplo: en el siguiente código, se sabe que la string ‘Cómo’ está presente en la string principal, por lo que simplemente devolverá el valor de índice de su primer carácter. Sin embargo, en el siguiente caso, no hay una substring con el nombre «Silla», por lo que simplemente devuelve -1. 

CSHARP

// C# program to illustrate the
// String.IndexOf(string  s1) method
using System;
namespace ConsoleApplication4 {
 
class Geeks {
 
    // Main Method
    static void Main(string[] args)
    {
 
        string str = "Hello Friends....How are you...";
 
        int i = str.IndexOf("How");
 
        // As this string is present in the
        // main string then it will obviously
        //  output the value as 17
        Console.WriteLine("First value Index of 'How' is " + i);
 
        // now the following string is not present
        // So as per the rules, it will return -1
        int i1 = str.IndexOf("Chair");
 
        // As this string is present in
        // the main string then it will
        // obviously output the value as -1
        Console.WriteLine("First value Index of 'Chair' is " + i1);
    }
}
}

Producción:

First value Index of 'How' is 17
First value Index of 'Chair' is -1

Publicación traducida automáticamente

Artículo escrito por keshav_786 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *