niedziela, 20 lipca 2008

Wyrażenia regularne w C# - podmiana

Wyrażenia regularne pozwalają także na podmianę tekstu na podstawie podanych wzorców. Klasa Regex posiada metodę Replace umożliwiającą podmianę tekstu.
Najprostszy sposób to wywołanie metody, której argumentami są: ciąg wejściowy, wzorzec oraz ciąg, który zostanie użyty do podmiany.


string tekst = "Ala mz kota, a kot mw Ale";
string podmiana = Regex.Replace(tekst, "m.", "ma"); // podmień tekst rozpoczynający się od m i kończący się dowolnym znakiem
Console.WriteLine(podmiana); // wyświetlenie podmienionego tekstu


Bardziej rozbudowana wersja tej metody pozwala na zastosowanie delegatów wywoływanych w momencie dopasowania do wzorca.


class Program
{
private static string ReplaceMethod(Match m)
{
Console.WriteLine(m.Value); // znaleziony tekst
return "ma"; // zwrócenie tekstu który znajdzie się w miejscu dopasowania
}

static void Main(string[] args)
{
string tekst = "Ala mz kota, a kot mw Ale";
string podmiana = Regex.Replace(tekst, "m.", ReplaceMethod);
Console.WriteLine(podmiana);
Console.ReadKey();
}
}

Brak komentarzy: