3.16 Übereinstimmungen durch Text ersetzen, der im Code erzeugt wurde

Problem

Sie wollen alle Übereinstimmungen eines regulären Ausdrucks durch einen neuen String ersetzen, den Sie in Ihrem prozeduralen Code erzeugt haben. Sie wollen jede Übereinstimmung durch einen anderen String ersetzen können, der davon abhängen soll, was tatsächlich gefunden wurde.

Stellen Sie sich zum Beispiel vor, Sie wollen alle Zahlen in einem String mit zwei multiplizieren und wieder einsetzen.

Lösung

C#

Sie können den statischen Aufruf nutzen, wenn Sie nur wenige Strings mit dem gleichen regulären Ausdruck bearbeiten wollen:

string resultString = Regex.Replace(subjectString, @"\d+",
                      new MatchEvaluator(ComputeReplacement));

Erstellen Sie ein Regex-Objekt, wenn Sie den gleichen ...

Get Reguläre Ausdrücke Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.