Tekst zoeken en vervangen

C++:
Tekst zoeken en vervangen

Hoe:

C++ biedt verschillende manieren om tekst te zoeken en te vervangen. Hieronder is een voorbeeld met std::string::find en std::string::replace.

#include <iostream>
#include <string>

int main() {
    std::string myText = "The quick brown fox jumps over the lazy dog.";
    std::string wordToSearch = "lazy";
    std::string replacement = "energic";

    size_t pos = myText.find(wordToSearch);
    
    if (pos != std::string::npos) {
        myText.replace(pos, wordToSearch.length(), replacement);
    }

    std::cout << myText << std::endl; // Uitvoer: The quick brown fox jumps over the energic dog.
    return 0;
}

Diepgaande duik

De find en replace functies maken al eeuwen deel uit van C++’s std::string klasse, waardoor ze een eenvoudige maar krachtige manier zijn om tekst te manipuleren. Voordat std::string bestond, gebruikten C-programmeurs tekenreeksen en functies zoals strstr en strcpy uit de C Standaardbibliotheek voor vergelijkbare taken, wat foutgevoeliger was en handmatig geheugenbeheer vereiste.

Wat betreft alternatieven bieden andere componenten van de standaard bibliotheek zoals std::regex mogelijkheden voor patroongebaseerde tekstmanipulatie voor complexe zoek- en vervangscenario’s. Bibliotheken van derden, zoals Boost, bieden nog geavanceerdere opties voor tekstverwerking.

Intern omvat zoeken en vervangen algoritmes die itereren over een string om overeenkomende sequenties van karakters te vinden en vervolgens de inhoud van de string dienovereenkomstig aan te passen. De efficiëntie van deze bewerkingen kan variëren, afhankelijk van de implementatie en de complexiteit van het zoekpatroon.

Zie ook