Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo String.LastIndexOf (String)

 

Data di pubblicazione: ottobre 2016

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno di questa istanza.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public int LastIndexOf(
	string value
)

Parametri

value
Type: System.String

Stringa da cercare.

Valore restituito

Type: System.Int32

Posizione iniziale nell'indice in base zero di value se viene trovata la stringa; in caso contrario, -1. Se value è String.Empty, il valore restituito è l'ultima posizione dell'indice in questa istanza.

Exception Condition
ArgumentNullException

value è null.

Numerazione dell'indice inizia da zero. Vale a dire il primo carattere nella stringa è in corrispondenza dell'indice zero e l'ultimo si trova in Length - 1.

La ricerca inizia in corrispondenza di questa istanza l'ultima posizione di carattere e continua all'indietro verso l'inizio fino a quando non value viene trovato o viene esaminata la posizione del primo carattere.

Questo metodo esegue una ricerca di word (maiuscole/minuscole e distinzione delle impostazioni cultura) usando le impostazioni cultura correnti.

I set di caratteri includono caratteri ignorabili, ovvero caratteri che non sono considerati durante l'esecuzione di un confronto linguistico o dipendente dalle impostazioni cultura. In una ricerca dipendente dalle impostazioni cultura, se value contiene un carattere ignorabile, il risultato è equivalente alla ricerca con il carattere rimosso. Se value è composta solo da uno o più caratteri ignorabili, il LastIndexOf(String) metodo restituisce sempre String.Length – 1, che rappresenta l'ultima posizione di indice nell'istanza corrente. Nell'esempio seguente, il LastIndexOf(String) metodo viene utilizzato per individuare le sottostringhe di tre (un segno meno facoltativo (U + 00AD), un segno meno facoltativo seguito da "n" e un segno meno facoltativo seguito da "m") in due stringhe. Solo una delle stringhe contiene un segno meno facoltativo. Se si esegue l'esempio .NET Framework 4 o versioni successive, in ogni caso, poiché il segno meno facoltativo è un carattere ignorabile, il risultato è lo stesso come se il segno meno non era state incluse value. Quando si cerca solo un segno, il metodo restituisce 6 e 5. Questi valori corrispondono all'indice dell'ultimo carattere nelle due stringhe.

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

Note per i chiamanti:

Come spiegato in Procedure consigliate per l'utilizzo di stringhe in .NET Framework, è consigliabile evitare di chiamare i metodi di confronto tra stringhe che sostituiscono i valori predefiniti e di chiamano invece i metodi che richiedono parametri per specificare in modo esplicito. Per trovare l'ultimo indice di una sottostringa all'interno di un'istanza di stringa usando le regole di confronto delle impostazioni cultura correnti, chiamare il LastIndexOf(String, StringComparison) overload del metodo con un valore di StringComparison.CurrentCulture per relativo comparisonType parametro.

Nell'esempio seguente rimuove i tag HTML da una stringa, se i tag di iniziano e fine della stringa. Se una stringa termina con una chiusura parentesi (">"), nell'esempio viene utilizzato il LastIndexOf metodo per individuare l'inizio del tag di fine.

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>

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: