Auf Englisch lesen

Freigeben über


MatchEvaluator Delegat

Definition

Stellt die Methode dar, die immer dann aufgerufen wird, wenn während eines Replace-Methodenvorgangs eine Übereinstimmung für einen regulären Ausdruck gefunden wird.

C#
public delegate string MatchEvaluator(Match match);
C#
[System.Serializable]
public delegate string MatchEvaluator(Match match);

Parameter

match
Match

Das Match-Objekt, das eine einzelne Übereinstimmung mit einem regulären Ausdruck während eines Replace-Methodenvorgangs darstellt.

Rückgabewert

Eine Zeichenfolge, die von der durch den MatchEvaluator-Delegaten dargestellten Methode zurückgegeben wird.

Attribute

Beispiele

Im folgenden Codebeispiel wird der MatchEvaluator Delegat verwendet, um jede übereinstimmende Zeichengruppe durch die Anzahl des Übereinstimmungsvorkommnisses zu ersetzen.

C#
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

Hinweise

Sie können eine MatchEvaluator Delegatmethode verwenden, um einen benutzerdefinierten Überprüfungs- oder Manipulationsvorgang für jede Übereinstimmung auszuführen, die von einer Ersatzmethode wie gefunden Regex.Replace(String, MatchEvaluator)wird. Für jede übereinstimmende Zeichenfolge ruft die Methode die ReplaceMatchEvaluator Delegatenmethode mit einem Match Objekt auf, das die Übereinstimmung darstellt. Die Delegatmethode führt die von Ihnen bevorzugte Verarbeitung aus und gibt eine Zeichenfolge zurück, die die Replace Methode durch die übereinstimmende Zeichenfolge ersetzt.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Weitere Informationen