Kursinhalt
C++ Datentypen
C++ Datentypen
Häufige String-Methoden
Anhängen
Wir haben gesehen, dass das Hinzufügen neuer Zeichen am Ende eines Strings durch Indizierung nicht möglich ist. Es gibt jedoch eine praktische .append()
-Methode für diesen Zweck.
append
str.append("added part");
Konkatenation
Eine andere Möglichkeit ist die Verwendung des +
Operators. Er führt eine Verkettung durch, wenn er auf Zeichenfolgen angewendet wird.
main
#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }
Es ermöglicht auch das Hinzufügen von Text am Anfang oder an beiden Enden, was .append()
nicht kann.
main
#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }
Einfügen
Sie können neuen Text an einer bestimmten Position in einen String einfügen, indem Sie die Methode .insert()
verwenden.
insert
str.insert(pos, "text to add");
Die Position, die durch den pos
Parameter angegeben wird, bestimmt, wo der neue Text hinzugefügt wird.
Der neue Text wird vor dem Zeichen eingefügt, das sich derzeit an der angegebenen Position befindet. Diese Methode ist nützlich, um Zeichenfolgen dynamisch zu ändern, ohne neue zu erstellen.
Ersetzen
Sie können auch einen Teil eines Strings durch einen anderen String ersetzen. Dies ist mit der .replace()
-Methode möglich.
replace
str.replace(start, n, "new text");
Hier bedeutet start
den Index des ersten zu ersetzenden Elements, und n
steht für die Länge des zu ersetzenden Teils.
Das Folgende ist ein GIF, das zeigt, wie .replace()
funktioniert.
Löschen
Sie können auch einen Teil eines Strings mit der Methode .erase()
entfernen. Dies ist nützlich, wenn Sie bestimmte Zeichen oder Teilstrings aus einem String löschen müssen.
erase
str.erase(start, n);
Wenn der n
-Parameter die verbleibende Länge des Strings ab start
erreicht oder überschreitet, werden alle Zeichen ab start
gelöscht.
Die Parameter start
und n
funktionieren ähnlich wie bei der .replace()
-Methode und bieten Flexibilität, den String nach Bedarf zu ändern.
main
#include <iostream> int main() { std::string str = "finity"; str.append(".com"); // finity to finity.com std::cout << str << std::endl; str = "in" + str; // finity.com to infinity.com std::cout << str << std::endl; str.insert(2, "de"); // infinity.com to indefinity.com std::cout << str << std::endl; str.replace(0, 2, "co"); // indefinity.com to codefinity.com std::cout << str << std::endl; str.erase(10, 4); // codefinity.com to codefinity std::cout << str << std::endl; }
Danke für Ihr Feedback!