Tekst zoeken en vervangen

C#:
Tekst zoeken en vervangen

Hoe:

C# maakt tekstmanipulatie vrij eenvoudig. Hieronder, bekijk de string.Replace methode om woorden te verwisselen.

using System;

public class Program
{
    public static void Main()
    {
        string frase = "Hallo, Wereld!";
        string bijgewerkteFrase = frase.Replace("Wereld", "C#");
        
        Console.WriteLine(bijgewerkteFrase); // Uitvoer: Hallo, C#!
    }
}

Geen raketwetenschap, toch? Maar stel we willen hoofdlettergevoeligheid negeren of alleen hele woorden vervangen? Regex schiet te hulp:

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        string frase = "Appels groeien aan bomen. appeltaarten zijn lekker.";
        string patroon = "\\bappel\\b"; // \b is een woordgrens in Regex
        string vervanging = "Sinaasappel";
        
        string bijgewerkteFrase = Regex.Replace(frase, patroon, vervanging, RegexOptions.IgnoreCase);

        Console.WriteLine(bijgewerkteFrase); // Uitvoer: Sinaasappels groeien aan bomen. Sinaasappeltaarten zijn lekker.
    }
}

Diepere Duik

Vroeger was het manipuleren van strings een gedoe. C was alles wat we hadden, en dat betekende omgaan met karakterarrays en handmatige iteraties. C# gaf ons een cadeau: gemakkelijke stringafhandeling.

Als string.Replace of Regex.Replace niet volstaan, hebben we opties. Voor enorme teksten of complexe patronen, overweeg een aangepaste parser te schrijven of gebruik bibliotheken zoals Antlr.

Regex is krachtig voor patroonmatching maar kan traag zijn. Als prestaties cruciaal zijn en je houdt van de fijne details, meet en vergelijk dan met StringBuilder voor massale, iteratieve vervangingen.

Zie Ook