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

Delegato MatchEvaluator

 

Data di pubblicazione: ottobre 2016

Rappresenta il metodo che viene chiamato ogni volta che viene trovata una corrispondenza di espressione regolare durante un Replace operazione del metodo.

Spazio dei nomi:   System.Text.RegularExpressions
Assembly:  System (in System.dll)

[SerializableAttribute]
public delegate string MatchEvaluator(
	Match match
)

Parametri

match
Type: System.Text.RegularExpressions.Match

Il Match oggetto che rappresenta una singola espressione regolare corrispondenza durante un Replace operazione del metodo.

Valore restituito

Type: System.String

Una stringa restituita dal metodo rappresentato dal MatchEvaluator delegare.

È possibile utilizzare un MatchEvaluator metodo per eseguire un'operazione di verifica o di modifica personalizzata per ogni corrispondenza rilevata da un metodo di sostituzione come delegato Regex.Replace(String, MatchEvaluator). Per ogni stringa con corrispondenza, il Replace chiamate al metodo di MatchEvaluator delegare metodo con un Match oggetto che rappresenta la corrispondenza. Il metodo delegato esegue l'elaborazione richiesta e restituisce una stringa che il Replace metodo sostituisce la stringa corrispondente.

Nell'esempio di codice viene illustrato come utilizzare il MatchEvaluator delegato per sostituire ogni gruppo di caratteri con il numero dell'occorrenza corrispondente.

using System;
using System.Text.RegularExpressions;

class MyClass
{
   static void Main(string[] args)
   {
      string sInput, sRegex;

      // The string to search.
      sInput = "aabbccddeeffcccgghhcccciijjcccckkcc";

      // A very simple regular expression.
      sRegex = "cc";

      Regex r = new Regex(sRegex);

      MyClass c = new MyClass();

      // Assign the replace method to the MatchEvaluator delegate.
      MatchEvaluator myEvaluator = new MatchEvaluator(c.ReplaceCC);

      // Write out the original string.
      Console.WriteLine(sInput);

      // Replace matched characters using the delegate method.
      sInput = r.Replace(sInput, myEvaluator);

      // Write out the modified string.
      Console.WriteLine(sInput);
   }

   public string ReplaceCC(Match m)
   // Replace each Regex cc match with the number of the occurrence.
   {
      i++;
      return i.ToString() + i.ToString();		
   }
   public static int i=0;
}
// The example displays the following output:
//       aabbccddeeffcccgghhcccciijjcccckkcc
//       aabb11ddeeff22cgghh3344iijj5566kk77

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: