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.LastIndexOf méthode (String)

 

Date de publication : novembre 2016

Signale la position d'index de base zéro de la dernière occurrence d'une chaîne spécifiée dans cette instance.

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

public int LastIndexOf(
	string value
)

Paramètres

value
Type: System.String

Chaîne à rechercher.

Valeur de retour

Type: System.Int32

Position d'index de départ 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 la dernière position d'index dans cette instance.

Exception Condition
ArgumentNullException

value a la valeur null.

La numérotation de l’index commence à zéro. Autrement dit, le premier caractère dans la chaîne est à l’index zéro et le dernier est situé à Length - 1.

La recherche commence à la dernière position de caractère de cette instance et se poursuit vers le début jusqu'à ce que value se trouve ou la première position de caractère a été examinée.

Cette méthode effectue une recherche de mots (respectant la casse et dépendante de la culture) à l’aide de la culture actuelle.

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, à la LastIndexOf(String) méthode retourne toujours String.Length – 1, ce qui représente la dernière position d’index dans l’instance actuelle. Dans l’exemple suivant, la LastIndexOf(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 6 et 5. Ces valeurs correspondent à l’index du dernier caractère dans les deux chaînes.

using System;

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

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

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

      // Find the index of the last soft hyphen followed by "m".
      Console.WriteLine(s1.LastIndexOf("\u00ADm"));
      Console.WriteLine(s2.LastIndexOf("\u00ADm"));
   }
}
// The example displays the following output:
//       6
//       5
//       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 dernier 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 LastIndexOf(String, StringComparison) avec une valeur de la surcharge de méthode StringComparison.CurrentCulture pour son comparisonType paramètre.

L’exemple suivant supprime les balises HTML à partir d’une chaîne si les balises de début et de fin de la chaîne. Si une chaîne se termine par une clôture crochet pointu (« > »), l’exemple utilise le LastIndexOf méthode pour trouver le début de la balise de fin.

using System;

public class Example 
{
   public static void Main() 
   {
      string[] strSource = { "<b>This is bold text</b>", "<H1>This is large Text</H1>",
               "<b><i><font color=green>This has multiple tags</font></i></b>",
               "<b>This has <i>embedded</i> tags.</b>",
               "This line ends with a greater than symbol and should not be modified>" };

      // Strip HTML start and end tags from each string if they are present.
      foreach (string s in strSource)
      {
         Console.WriteLine("Before: " + s);
         string item = s;
         // Use EndsWith to find a tag at the end of the line.
         if (item.Trim().EndsWith(">")) 
         {
            // Locate the opening tag.
            int endTagStartPosition = item.LastIndexOf("</");
            // Remove the identified section, if it is valid.
            if (endTagStartPosition >= 0 )
               item = item.Substring(0, endTagStartPosition);

            // Use StartsWith to find the opening tag.
            if (item.Trim().StartsWith("<"))
            {
               // Locate the end of opening tab.
               int openTagEndPosition = item.IndexOf(">");
               // Remove the identified section, if it is valid.
               if (openTagEndPosition >= 0)
                  item = item.Substring(openTagEndPosition + 1);
            }      
         }
         // Display the trimmed string.
         Console.WriteLine("After: " + item);
         Console.WriteLine();
      }                   
   }
}
// The example displays the following output:
//    Before: <b>This is bold text</b>
//    After: This is bold text
//    
//    Before: <H1>This is large Text</H1>
//    After: This is large Text
//    
//    Before: <b><i><font color=green>This has multiple tags</font></i></b>
//    After: <i><font color=green>This has multiple tags</font></i>
//    
//    Before: <b>This has <i>embedded</i> tags.</b>
//    After: This has <i>embedded</i> tags.
//    
//    Before: This line ends with a greater than symbol and should not be modified>
//    After: This line ends with a greater than symbol and should not be modified>

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: