So verwenden Sie die Funktion substr() in C++

How Use Substr Function C



Die Möglichkeit, einen beliebigen Abschnitt aus einer Zeichenfolge abzuschneiden, wird als Teilzeichenfolge bezeichnet. Die Funktion substr() existiert in C++, um einen neuen String zu generieren, indem ein bestimmter Teil aus einem String ausgeschnitten wird. Die string.h Bibliotheksdatei muss eingebunden werden, um diese Funktion zu verwenden. Diese Funktion hat zwei Argumente. Das erste Argument enthält die Startposition des neuen Strings und das zweite Argument enthält die Länge des Strings. Die Verwendung der Funktion substr() in C++ wurde in diesem Tutorial erklärt.

Voraussetzung

Bevor Sie die Beispiele dieses Tutorials überprüfen, müssen Sie überprüfen, ob der g++-Compiler im System installiert ist oder nicht. Wenn Sie Visual Studio Code verwenden, installieren Sie die erforderlichen Erweiterungen, um den C++-Quellcode zu kompilieren, um den ausführbaren Code zu erstellen. Hier wurde die Visual Studio Code-Anwendung verwendet, um den C++-Code zu kompilieren und auszuführen.







Syntax

string substr (size_t pos = 0, size_t len ​​= npos) const;



Hier enthält das erste Argument die Startposition, von der aus der Teilstring gestartet wird, und das zweite Argument enthält die Länge des Teilstrings. Die Funktion gibt den Teilstring zurück, wenn die gültige Startposition und Länge angegeben ist. Die verschiedenen Verwendungen dieser Funktion werden im nächsten Teil dieses Tutorials gezeigt.



Beispiel 1: Einfache Verwendung von substr()

Das folgende Beispiel zeigt die häufigste und einfachste Verwendung der Funktion substr(). Erstellen Sie eine C++-Datei mit dem folgenden Code, um eine Teilzeichenfolge aus einem Zeichenfolgenwert zu generieren. Einer String-Variablen wurde ein String aus mehreren Wörtern zugewiesen. Als nächstes haben die gültige Startposition und die Länge des Teilstrings in den Argumentwerten der Funktion substr(). Sowohl die Originalzeichenfolge als auch die Teilzeichenfolge werden nach der Ausführung des Codes ausgegeben.





//Notwendige Bibliotheken einbeziehen
#enthalten
#enthalten


inthauptsächlich() {
//Definieren einer String-Variablen
std::Schnuroriginalstr='Willkommen bei Linuxhint';
// Den Unterstring mit substr() ausschneiden
std::Schnurneustr=Originalstr.substr (elf,9);
//Drucken Sie die Originalzeichenfolge
std::Kosten <<'Der ursprüngliche String ist:' <<originalstr<< ' ';
//Drucke die Unterzeichenfolge
std::Kosten <<'Der Teilstring ist:' <<neustr<< ' ';

Rückkehr 0;
}

Ausgabe:

Laut Code ist die ursprüngliche Zeichenfolge ‘ Willkommen bei LinuxHinweis ‘. 11 hat als Startposition der Teilzeichenfolge angegeben, die die Position des „L“-Zeichens ist, und 9 hat als Längenwert der Teilzeichenfolge angegeben. ‘ LinuxHinweis ‘ als Ausgabe der Funktion substr() zurückgegeben wurde, nachdem der Code ausgeführt wurde.



Beispiel 2: Verwenden von substr() basierend auf der Position eines bestimmten Strings

Der folgende Code generiert die Teilzeichenfolge, nachdem die Position der bestimmten Zeichenfolge gesucht wurde. Erstellen Sie eine C++-Datei mit dem folgenden Code, um den Code zu testen. Im Code wurde ein Zeichenfolgenwert der mehreren Wörter definiert. Als nächstes wird die Position eines bestimmten Strings im Hauptstring mithilfe der Funktion find() gesucht. Die Funktion substr() wurde verwendet, um die Teilzeichenfolge beginnend vom Anfang der Zeichenfolge bis zum Positionswert zu generieren, der von der Funktion find() zurückgegeben wird.

//Notwendige Bibliotheken einbeziehen
#enthalten
#enthalten
mit Namensraumstd;

inthauptsächlich()
{
std::SchnurstrDaten= „Ich mag C++-Programmierung“;

// Finden wir die Position von '--' mit str.find()
intPosition=strDaten.finden('Programmierung');

// Wir erhalten den Teilstring bis zu diesem Muster
std::Schnurneustr=strDaten.substr(0, position);

std::Kosten <<strDaten<< ' ';
std::Kosten <<neustr<< ' ';

Rückkehr 0;
}

Ausgabe:

Laut Code ist der Hauptstringwert: Ich mag C++-Programmierung und der Wert der Suchzeichenfolge ist, ‘ Programmierung' die in der Hauptzeichenfolge vorhanden ist. Die Ausgabe lautet also: Ich mag C++ ‘ nach Ausführung des Codes.

Beispiel 3: Verwendung von substr() mit Ausnahmebehandlung

Die Funktion substr() wurde im folgenden Code mit Ausnahmebehandlung verwendet. Die Ausnahme wird generiert, wenn in der Funktion substr() die ungültige Startposition angegeben wird. Erstellen Sie eine C++-Datei mit dem folgenden Code, um den Code zu testen. Im try-Block wurde ein Zeichenfolgenwert von einem Wort zugewiesen und in der Funktion substr() wurde eine ungültige Startposition verwendet, die eine Ausnahme auslöst und die Fehlermeldung ausgibt.

//Notwendige Bibliotheken einbeziehen
#enthalten
#enthalten

inthauptsächlich() {
Versuchen{

//Definieren einer String-Variablen
std::Schnuroriginalstr='Linuxhint';
// Den Unterstring mit substr() ausschneiden
std::Schnurneustr=Originalstr.substr (elf,9);
//Drucke die Unterzeichenfolge
std::Kosten <<'Der Teilstring ist:' <<neustr<< ' ';
}
fangen (conststd::außer Reichweite) {
std::cerr << „Die Position ist außerhalb der Reichweite. ';
}
Rückkehr 0;
}

Ausgabe:

Laut Code ist der Hauptstringwert: LinuxHinweis und der Wert der Startposition ist 11, der nicht existiert. Die Ausnahme wurde also generiert und die Fehlermeldung wurde nach der Ausführung des Codes ausgegeben.

Beispiel 4: Verwenden von substr() zum Aufteilen des Strings

Das folgende Beispiel zeigt die Verwendung der Funktion substr() zum Aufteilen einer Zeichenfolge basierend auf einem Trennzeichen. Die Funktion find() wurde verwendet, um die Trennzeichenposition zu suchen, und die Funktion delete() wurde verwendet, um die geteilte Zeichenfolge mit dem Trennzeichen aus der Hauptzeichenfolge zu entfernen. Die Schleife „while“ hat verwendet, um alle Positionen des Trennzeichens im Hauptstring zu finden und den geteilten Wert im Vektorarray zu speichern. Als nächstes wurden die Werte des Vektorarrays gedruckt.

//Notwendige Bibliotheken einbeziehen
#enthalten
#enthalten
#enthalten

inthauptsächlich(){
// Definiere die Zeichenfolge
std::SchnurstringData= 'PHP:C++:Python:';
// Definiere das Trennzeichen
std::SchnurSeparator= ':';
// Deklariere die Vektorvariable
std::VektorSprachen{};
//Integer-Variable deklarieren
intPosition;
//String-Variable deklarieren
std::Schnurausserhalb;
/ *
Teilen Sie den String mit der Funktion substr()
und Hinzufügen des geteilten Wortes in den Vektor
* /

während ((Position=stringData.finden(Separator)) !=std::Schnur::npos) {
Sprachen.push_back(stringData.substr(0, position));
stringData.löschen(0, position+Separator.Länge());
}
//Alle geteilten Wörter drucken
zum (const Auto &ausserhalb:Sprachen) {
std::Kosten <<ausserhalb<<std::endl;
}
Rückkehr 0;
}

Ausgabe:

Laut Code ist der Hauptstringwert PHP:C++:Python und der Wert des Trennzeichens ist, ‘ : ’ . Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde.

Abschluss

Der Hauptzweck der Verwendung der Funktion substr() besteht darin, einen Teilstring aus einem String abzurufen, indem die Startposition und die Länge des Teilstrings angegeben werden. Die verschiedenen Verwendungen dieser Funktion wurden in diesem Tutorial anhand mehrerer Beispiele erläutert, um neuen C++-Benutzern zu helfen, sie in ihrem Code richtig zu verwenden.