Suchen und Ersetzen von Text

C#:
Suchen und Ersetzen von Text

So geht’s:

Ein einfaches Beispiel in C# zeigt, wie man den string.Replace-Methode zum Ersetzen von Text verwendet:

string originalText = "Hallo Welt! C# macht Spaß.";
string modifiedText = originalText.Replace("Spaß", "Freude");

Console.WriteLine(modifiedText);

Ausgabe:

Hallo Welt! C# macht Freude.

Für komplexere Fälle mit Mustern benutzt man reguläre Ausdrücke (Regex):

using System.Text.RegularExpressions;

string originalText = "Die Postleitzahl 12345 könnte auch 67890 sein.";
string pattern = @"\b\d{5}\b";
string replacement = "#####";

string resultText = Regex.Replace(originalText, pattern, replacement);

Console.WriteLine(resultText);

Ausgabe:

Die Postleitzahl ##### könnte auch ##### sein.

Deep Dive

Textsuche und -ersatz sind in der Softwareentwicklung unverzichtbare Werkzeuge seit den frühen Tagen von Editoren und Programmiersprachen. In C# macht die Klasse String diesen Vorgang mit Methoden wie Replace sehr zugänglich. Für mehr Komplexität bietet System.Text.RegularExpressions.Regex Mustererkennung und Ersatzoperationen.

Alternativen zu string.Replace sind StringBuilder-Methoden, wenn es um Leistung bei vielen Änderungen geht. In LINQ kann man mit Aggregate ähnliche Resultate erzielen, aber weniger effizient.

Details zur Implementierung von Replace: Es erstellt einen neuen String, weil Strings in C# unveränderlich (immutable) sind. Regex hingegen arbeitet mit kompilierten Mustern und kann daher schneller sein bei häufigem Einsatz.

Siehe auch: