Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Regex.Replace-Methode (String, MatchEvaluator)

Aktualisiert: November 2007

Ersetzt in einer angegebenen Eingabezeichenfolge alle mit einem angegebenen regulären Ausdruck übereinstimmenden Zeichenfolgen durch eine von einem MatchEvaluator-Delegaten zurückgegebene Zeichenfolge.

Namespace:  System.Text.RegularExpressions
Assembly:  System (in System.dll)
public string Replace(
	string input,
	MatchEvaluator evaluator
)
public String Replace(
	String input,
	MatchEvaluator evaluator
)
public function Replace(
	input : String, 
	evaluator : MatchEvaluator
) : String

Parameter

input
Typ: System.String
Die nach einer Übereinstimmung zu durchsuchende Zeichenfolge.
evaluator
Typ: System.Text.RegularExpressions.MatchEvaluator
Eine benutzerdefinierte Methode, die jede Übereinstimmung prüft und die ursprüngliche übereinstimmende Zeichenfolge oder eine Ersetzungszeichenfolge zurückgibt.

Rückgabewert

Typ: System.String
Eine neue, mit der Eingabezeichenfolge identische Zeichenfolge. Die Ersetzungszeichenfolge ersetzt jedoch alle übereinstimmenden Zeichenfolgen.
AusnahmeBedingung
ArgumentNullException

input ist null.

- oder -

evaluator ist null.

Der reguläre Ausdruck ist das vom Konstruktor für das aktuelle Regex-Objekt definierte Muster. Der evaluator-Parameter ist der Delegat für eine benutzerdefinierte Methode, die Sie definieren und die die einzelnen Übereinstimmungen überprüft. Die benutzerdefinierte Methode gibt eine Zeichenfolge zurück, die die übereinstimmende Eingabe ersetzt.

Im folgenden Codebeispiel wird die ursprüngliche Zeichenfolge angezeigt, und es werden alle Wörter der dieser Zeichenfolge verglichen. Anschließend wird das erste Zeichen jeder Übereinstimmung in einen Großbuchstaben konvertiert, und die konvertierte Zeichenfolge wird dann angezeigt.

using System;
using System.Text.RegularExpressions;

class RegExSample
{
    static string CapText(Match m)
    {
        // Get the matched string.
        string x = m.ToString();
        // If the first char is lower case...
        if (char.IsLower(x[0]))
        {
            // Capitalize it.
            return char.ToUpper(x[0]) + x.Substring(1, x.Length - 1);
        }
        return x;
    }

    static void Main()
    {
        string text = "four score and seven years ago";

        System.Console.WriteLine("text=[" + text + "]");

        Regex rx = new Regex(@"\w+");

        string result = rx.Replace(text, new MatchEvaluator(RegExSample.CapText));

        System.Console.WriteLine("result=[" + result + "]");
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC, Xbox 360

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0, 1.0

XNA Framework

Unterstützt in: 2.0, 1.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.