C++:
Wycinanie podłańcuchów

Jak to zrobić:

Oto przykład w C++. Załóżmy, że chcesz wydobyć podciąg z tekst “Dzień dobry, Coders!”.

#include <iostream>
#include <string>

int main() {
    std::string fullString = "Dzień dobry, Coders!";
    std::string subString = fullString.substr(12, 7); // Start at index 12, length 7

    std::cout << subString << std::endl; // Wypisze "Coders"
    
    return 0;
}

Wyjście:

Coders

W pogłębieniu:

Wycinanie podciągów nie zmieniło się wiele od wprowadzenia C++ w latach 80-tych. Ale wtedy korzystano głównie z tablic znaków typu char[] i funkcji takich jak strncpy(). Od C++11, łatwiej jest używać klas std::string i ich metod takich jak substr().

Dla porównania, w innych językach jak Python, podciągi wydobywa się przez slicing, co jest bardziej elastyczne. W C++, oprócz metody substr(), możesz także użyć iteratorów klasy string, aby wydobyć podciąg na różne sposoby, co daje ci więcej kontroli nad operacją.

Implementacja substr() w standardowej bibliotece C++ może się różnić w zależności od kompilatora, ale zazwyczaj jest to operacja o złożoności czasowej O(n), gdzie n to długość substringu.

Zobacz również: