Substrings extraheren

C++:
Substrings extraheren

Hoe te:

C++ maakt het gemakkelijk om een substring te pakken. std::string is hier onze betrouwbare hulp, met de functie substr() die het meeste zware werk doet. Laten we direct naar de code gaan:

#include <iostream>
#include <string>

int main() {
    std::string volledigeString = "Hallo, Wereld! Programmeren in C++ is leuk.";
    std::string fragment;

    // Extraheer "Wereld" startend bij index 7 met lengte 5
    fragment = volledigeString.substr(7, 5);
    std::cout << fragment << std::endl; // Uitvoer: Wereld

    // Extraheer "Programmeren" startend bij index 14
    fragment = volledigeString.substr(14);
    std::cout << fragment << std::endl; // Uitvoer: Programmeren in C++ is leuk.

    return 0;
}

Diepere Duik

Substrings zijn niet nieuw. Oude C-programmeurs gebruikten strncpy en handmatige administratie. Het behandelen van strings is een veelvoorkomende bron van bugs, dus C++ wilde dit vereenvoudigen. std::string en zijn substr methode dateren uit C++98 en hebben sindsdien voor verlichting gezorgd.

Alternatieven? Zeker. Je zou handmatig kunnen gaan met std::string::iterator of oude C-functies afstoffen—als je graag gevaarlijk leeft. Een modernere aanpak zou string_views kunnen betreffen voor niet-wijzigende inkijkjes.

Implementatie? Onder de motorkap, substr wijst vaak nieuwe opslag toe en kopieert data, wat niet gratis is. Het is lichter in vergelijking met worstelen met ruwe pointers en char arrays van de oude tijden, maar het is niet instant.

Zie Ook

Voor meer over std::string en zijn vrienden: