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ż:
- Dokumentacja C++ na cppreference.com: std::basic_string::substr
- Przewodnik po C++ z cplusplus.com: String - substr()
- Porównanie metody
substr()
z C++ z metodami w innych językach: Rosetta Code - Substring