Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método String.IndexOf (String)

 

Publicado: noviembre de 2016

Indica el índice de base cero de la primera aparición de la cadena especificada en la instancia en cuestión.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public int IndexOf(
	string value
)

Parámetros

value
Type: System.String

Cadena que se va a buscar.

Valor devuelto

Type: System.Int32

Devuelve la posición de índice de base cero de value si se encuentra dicha cadena; de lo contrario, devuelve -1. Si value es String.Empty, el valor devuelto es 0.

Exception Condition
ArgumentNullException

El valor de value es null.

Numeración del índice empieza desde cero.

Este método realiza una búsqueda de palabras (distingue mayúsculas de minúsculas y la referencia cultural) utilizando la referencia cultural actual. La búsqueda comienza en la posición del primer carácter de esta instancia y continúa hasta la última posición de carácter.

Los juegos de caracteres incluyen caracteres que se pueden pasar por alto, que son los caracteres que no se tienen en cuenta al realizar una comparación lingüística o en la que se tiene en cuenta la referencia cultural. En una búsqueda que tiene en cuenta la referencia cultural, si value contiene un carácter que se puede pasar por alto, el resultado es equivalente a buscar sin ese carácter. Si value consta únicamente de uno o varios de los caracteres pueden pasar por alto elIndexOf(String) método siempre devuelve 0 (cero) para indicar que se encuentra la coincidencia al principio de la instancia actual. En el ejemplo siguiente, la IndexOf(String) método se usa para buscar tres subcadenas (un guion (00AD), un guion seguido de "n" y un guion seguido de "m") en dos cadenas. Solo una de las cadenas contiene un guion virtual. Si se ejecuta el ejemplo el .NET Framework 4 o una versión posterior, en cada caso, como el guion virtual es un carácter puede pasar por alto, el resultado es el mismo como si no se incluía el guion en value. Cuando se busca un guion solo, el método devuelve 0 (cero) para indicar que ha encontrado a una coincidencia al principio de la cadena.

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      string s2 = "animal";

      // Find the index of the soft hyphen.
      Console.WriteLine(s1.IndexOf("\u00AD"));
      Console.WriteLine(s2.IndexOf("\u00AD"));

      // Find the index of the soft hyphen followed by "n".
      Console.WriteLine(s1.IndexOf("\u00ADn"));
      Console.WriteLine(s2.IndexOf("\u00ADn"));

      // Find the index of the soft hyphen followed by "m".
      Console.WriteLine(s1.IndexOf("\u00ADm"));
      Console.WriteLine(s2.IndexOf("\u00ADm"));
   }
}
// The example displays the following output
// if run under the .NET Framework 4 or later:
//       0
//       0
//       1
//       1
//       4
//       3

Notas para llamadores:

Como se explica en Procedimientos recomendados para el uso de cadenas en .NET Framework, recomendamos que evite llamar a métodos de comparación de cadenas que sustituyen los valores predeterminados y en su lugar, llame a métodos que requieren parámetros para especificarse explícitamente. Para encontrar el primer índice de una subcadena dentro de una instancia de cadena mediante las reglas de comparación de la referencia cultural actual, llame a la IndexOf(String, StringComparison) sobrecarga del método con un valor de StringComparison.CurrentCulture para su comparisonType parámetro.

En el ejemplo siguiente se busca "n" en "animal". Dado que los índices de cadena comienzan en cero en lugar de a, el IndexOf(String) método indica que los "n" está en la posición 1.

using System;

public class Example
{
   public static void Main()
   {
      String str = "animal";
      String toFind = "n";
      int index = str.IndexOf("n");
      Console.WriteLine("Found '{0}' in '{1}' at position {2}",
                        toFind, str, index);
   }
}
// The example displays the following output:
//        Found 'n' in 'animal' at position 1

En el ejemplo siguiente se usa el IndexOf método para determinar la posición inicial de un nombre de animal en una frase. A continuación, se usa esta posición para insertar un adjetivo que describe el animal en la frase.

using System;

public class Example {
    public static void Main() 
    {
        string animal1 = "fox";
        string animal2 = "dog";

        string strTarget = String.Format("The {0} jumped over the {1}.", 
                                         animal1, animal2);

        Console.WriteLine("The original string is:{0}{1}{0}", 
                          Environment.NewLine, strTarget);

        Console.Write("Enter an adjective (or group of adjectives) " +
                      "to describe the {0}: ==> ", animal1);
        string adj1 = Console.ReadLine();

        Console.Write("Enter an adjective (or group of adjectives) " + 
                      "to describe the {0}: ==> ", animal2);    
        string adj2 = Console.ReadLine();

        adj1 = adj1.Trim() + " ";
        adj2 = adj2.Trim() + " ";

        strTarget = strTarget.Insert(strTarget.IndexOf(animal1), adj1);
        strTarget = strTarget.Insert(strTarget.IndexOf(animal2), adj2);

        Console.WriteLine("{0}The final string is:{0}{1}", 
                          Environment.NewLine, strTarget);
    }
}
// Output from the example might appear as follows:
//       The original string is:
//       The fox jumped over the dog.
//       
//       Enter an adjective (or group of adjectives) to describe the fox: ==> bold
//       Enter an adjective (or group of adjectives) to describe the dog: ==> lazy
//       
//       The final string is:
//       The bold fox jumped over the lazy dog.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: