12 C++ String-Methoden, die Sie heute beherrschen sollten
C++ ist mit Hilfe seiner integrierten Methoden eine der mächtigsten Programmiersprachen, um Operationen wie Sortieren, Suchen und Umkehren durchzuführen. Diese Methoden decken die Nachteile der Benutzerfreundlichkeit ab, die C++ im Vergleich zu anderen höheren Programmiersprachen wie Java und Python hat.
In diesem Artikel lernen Sie 12 C++-Stringmethoden kennen, mit denen Sie Operationen an Strings in einem Bruchteil des von Ihnen verwendeten Codes ausführen können.
Was sind String-Methoden in C++?
String-Methoden sind die vorgefertigten Funktionen, die in der String- Header-Datei gespeichert sind. Sie können sie verwenden, indem Sie die String- Header-Datei importieren:
#include <string>
Betrachten Sie eine Beispiel-String-Variable str mit dem Wert „Welcome To MUO“, um diese Methoden zu implementieren.
string str = “Welcome To MUO”;
1. beginnen()
Die Methode begin() in C++ gibt einen Iterator an den Anfang des Strings zurück. Erstellen Sie einen Iterator mit dem Schlüsselwort auto und speichern Sie die anfängliche Referenz der String-Variablen mit str.begin(). Der folgende Code zeigt die Implementierung:
auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;
Ausgabe :
The first character in the string str is: W
2. Ende()
Die String-Methode end() gibt den Iterator an das Ende des Strings zurück. Dieser Code gibt das letzte Zeichen der String-Variablen aus:
auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;
Ausgabe :
The first character in the string s is: O
Sie können den String auch durchlaufen und einzelne Zeichen mit den Methoden begin() und end() ausgeben. Hier ist wie :
for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}
3. push_back()
Die Methode push_back() fügt ein Zeichen am Ende des Strings ein. Durch Ausführen dieses Vorgangs erhöht sich die Größe der Zeichenfolge um 1.
str.push_back('!');
cout<<str;
Die Ausgabe des obigen Codes enthält ein Ausrufezeichen (!) zusammen mit der ursprünglichen Zeichenfolge:
Welcome To MUO!
Sie können auch einen Satz von Zeichen oder eine andere Zeichenfolge anhängen, indem Sie sie durchschleifen und zeichenweise anhängen. Betrachten Sie eine String-Variable str2 mit dem Wert „Hallo“. So hängen Sie diese Variable mit der Methode push_back() an den ursprünglichen String an:
string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;
Ausgabe :
Welcome To MUO! Hi there
4. pop_back()
Die Methode pop_back() entfernt das letzte Zeichen eines Strings. So können Sie diese Methode für die Zeichenfolge str ausprobieren:
str.pop_back();
cout<<str<<endl;
Ausgabe :
Welcome To MU
5. Größe ()
Die Methode size() hilft Ihnen, die Länge des Strings zu berechnen.
cout<<"The size of the string str is "<<str.size()<<endl;
6. kopieren ()
Die Methode copy() kopiert einen vollständigen String oder einen Teilstring. Es akzeptiert drei Argumente: Zeichenarray, Länge der Teilzeichenfolge und die Position, an der die Zeichenfolge mit dem Kopieren beginnen soll.
char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;
Ausgabe :
The value in str2: lcome
7. tauschen ()
Die Methode swap() hilft Ihnen, zwei Strings miteinander auszutauschen. Die Syntax für diese Methode lautet:
string1.swap(string2)
Diese Methode akzeptiert eine String-Variable als Argument. Sie können diese Methode für die Zeichenfolge ausführen, die Sie austauschen und drucken möchten, um die Ergebnisse zu überprüfen.
string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;
Ausgabe :
String 1 str: Hi There
String 2 str2: Welcome To MUO
8. getline()
Die Methode getline() speichert einen Strom von Zeichen, die während der Eingabe akzeptiert werden. Diese Methode akzeptiert zwei Argumente: cin und die String-Variable.
string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;
Ausgabe :
Enter a string
Welcome to MUO
9. Größe ändern ()
Die Methode resize() ändert die Länge des Strings, indem sie dynamisch erhöht oder verringert wird. Es akzeptiert ein Argument: die Länge, auf die Sie die Größe Ihres Strings ändern möchten.
str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;
Ausgabe :
The value of str after resizing it: Welcome To
10. Kapazität ()
Die Methode capacity() in C++ gibt die dem String zugewiesene Kapazität zurück. Sie kann gleich der Länge der Zeichenfolge oder größer sein.
cout<<"The capacity of the string is "<<str.capacity()<<endl;
11. stoi ()
Die Methode stoi() hilft, eine Zahl in Form eines Strings in ihren numerischen Wert umzuwandeln. Es akzeptiert einen Parameter: die String-Variable. Wenn Ihre String-Variable andere Zeichen als Zahlen enthält, werden diese herausgefiltert. Damit diese Methode funktioniert, müssen jedoch die nicht numerischen Zeichenfolgen den Zahlen folgen. Wenn die Zeichen vor den Zahlen erscheinen, wird ein Fehler zurückgegeben.
Bevor Sie mit der obigen Operation fortfahren, stellen Sie sicher, dass Sie sie in einer Integer-Variablen speichern, bevor Sie sie drucken. Hier ist ein Beispiel:
string s1 = "123";
int v1 = stoi(s1);
cout<<"Stoi() for s1: "<<v1<<endl;
string s2 = "123 pass";
int v2 = stoi(s2);
cout<<"Stoi() for s2: "<<v2;
Ausgabe :
Stoi() for s1: 123
Stoi() for s2: 123
12. rbegin() und rend()
Die Methode rbegin() gibt die Referenz des Reverse-Iterators auf den String am Ende zurück. Ebenso gibt die Methode rend() die Referenz des Start-Iterators auf den String am Anfang zurück.
auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;
Sie können auch die Umkehrung des Strings mit den Methoden rbegin() und rend() ausgeben . Dazu können Sie den String durchlaufen und zeichenweise ausgeben.
for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}
Ausgabe :
The last character is: O
The first character is: W
OUM oT emocleW
Machen Sie einen Schritt voraus beim Erlernen von C++
Nachdem Sie nun gelernt haben, verschiedene String-Methoden des String- Headers zu implementieren, können Sie sicher sein, weitere vorgefertigte Methoden in den C++-Header-Dateien zu erkunden. Von sort() und reverse() bis binary_search() gibt es wenig, was C++ STL in der Welt der Codierung nicht erreichen kann.
Sich die Zeit zu nehmen, sich mit der Standard Template Library vertraut zu machen, ist eine ausgezeichnete Investition für C++-Programmierer aller Niveaus. Die Standardvorlagenbibliothek bietet integrierte Funktionen, allgemeine Datenstrukturen und praktische Algorithmen, um die Programmierung einfach und effizient zu gestalten.