Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

String.IndexOf méthode (String)

 

Date de publication : novembre 2016

Signale l'index de base zéro de la première occurrence de la chaîne spécifiée dans cette instance.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public int IndexOf(
	string value
)

Paramètres

value
Type: System.String

Chaîne à rechercher.

Valeur de retour

Type: System.Int32

Position d'index de base zéro de value si cette chaîne est disponible ou -1 si elle est introuvable. Si value est String.Empty, la valeur de retour est 0.

Exception Condition
ArgumentNullException

value a la valeur null.

La numérotation de l’index commence à zéro.

Cette méthode effectue une recherche de mots (respectant la casse et dépendante de la culture) à l’aide de la culture actuelle. La recherche commence à la première position de caractère de cette instance et continue jusqu'à la dernière position de caractère.

Les jeux de caractères incluent les caractères ignorables, à savoir les caractères qui ne sont pas considérés lors de l'exécution d'une comparaison linguistique ou dépendante de la culture. Dans une recherche dépendante de la culture, si value contient un caractère ignorable, le résultat est équivalent à la recherche avec ce caractère supprimé. Si value se compose uniquement d’un ou plusieurs caractères ignorables, à laIndexOf(String) méthode retourne toujours 0 (zéro) pour indiquer que la correspondance au début de l’instance actuelle. Dans l’exemple suivant, la IndexOf(String) méthode est utilisée pour rechercher des trois sous-chaînes (un trait d’union (U + 00AD), un trait d’union suivie de « n » et un trait d’union suivie de « m ») dans les deux chaînes. Une seule des chaînes contient un trait d'union conditionnel. Si l’exemple est exécuté le .NET Framework 4 ou une version ultérieure, dans chaque cas, étant donné que le trait d’union est un caractère ignorable, le résultat est le même que si le trait d’union n’avait pas été inclus dans value. Lorsque vous recherchez un trait d’union uniquement, la méthode retourne 0 (zéro) pour indiquer qu’il a trouvé une correspondance au début de la chaîne.

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

Remarques à l’attention des appelants :

Comme expliqué dans Meilleures pratiques pour l'utilisation de chaînes dans le .NET Framework, nous vous recommandons d’éviter d’appeler des méthodes de comparaison de chaînes qui substituent des valeurs par défaut et à la place appellent des méthodes qui requièrent des paramètres spécifiés explicitement. Pour rechercher le premier index d’une sous-chaîne dans une instance de chaîne à l’aide des règles de comparaison de la culture actuelle, appelez la IndexOf(String, StringComparison) avec une valeur de la surcharge de méthode StringComparison.CurrentCulture pour son comparisonType paramètre.

L’exemple suivant recherche la « n » dans « animal ». Étant donné que les index de chaîne commencent à zéro au lieu, la IndexOf(String) méthode indique que le « n » est à la position 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

L’exemple suivant utilise la IndexOf méthode pour déterminer la position de départ d’un nom d’animal dans une phrase. Il utilise ensuite cette position pour insérer un adjectif qui décrit l’animal dans la phrase.

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.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: