So verwenden Sie die Substr -Funktion in C ++

So verwenden Sie die Substr -Funktion in C ++
Der Weg, einen Teil aus einer Schnur zu schneiden, wird als Unterstring bezeichnet. Die Substr () -Funktion existiert in C ++, um eine neue Zeichenfolge zu erzeugen, indem ein bestimmter Teil aus einer Zeichenfolge geschnitten wird. Der Saite.H Die Bibliotheksdatei ist erforderlich, um diese Funktion zu verwenden. Diese Funktion hat zwei Argumente. Das erste Argument enthält die Ausgangsposition der neuen Zeichenfolge, und das zweite Argument enthält die Länge der Zeichenfolge. Die Möglichkeit, die Funktion substr () in C ++ zu verwenden, wurde in diesem Tutorial erklärt.

Voraussetzung

Bevor Sie die Beispiele dieses Tutorials überprüfen, müssen Sie überprüfen, ob der G ++ - Compiler installiert ist oder nicht im System. 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 -Codeanwendung zum Kompilieren und Ausführen des C ++ - Code verwendet.

Syntax

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

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

Beispiel 1: Einfache Verwendung von substr ()

Das folgende Beispiel zeigt die häufigste und einfachste Verwendung der Substr () -Funktion. Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um ein Substring aus einem Zeichenfolgenwert zu generieren. Eine Zeichenfolge mehrerer Wörter wurde in eine String -Variable zugeordnet. Als nächstes haben die gültige Ausgangsposition und die Länge der Unterstring in den Argumentwerten der Substr () -Funktion. Sowohl die ursprüngliche Zeichenfolge als auch das Substring werden nach der Ausführung des Codes gedruckt.

// notwendige Bibliotheken einschließen
#enthalten
#enthalten
int main ()
// eine String -Variable definieren
STD :: String originalStr = "Willkommen bei LinuxHint";
// Schneiden Sie die Sub -Zeichenfolge mit Substr () aus
STD :: String NewStr = OriginalStr.Substr (11,9);
// Drucken Sie die Originalzeichenfolge
std :: Cout <<"The original string is :" << originalstr << '\n';
// Drucken Sie die Unterzeichenfolge
std :: Cout <<"The substring is :" << newstr << '\n';
Rückkehr 0;

Ausgang:

Nach dem Code ist die ursprüngliche Zeichenfolge 'Willkommen bei LinuxHint''. 11 hat als Ausgangsposition der Unterstring angegeben, die die Position des 'L' -Chaktors ist, und 9 hat als Längenwert der Unterstring gegeben. ''LinuxHint'ist als Ausgabe der Funktion substr () zurückgegeben, nachdem der Code ausgeführt wurde.

Beispiel 2: Verwenden von substr () basierend auf der Position einer bestimmten Zeichenfolge

Der folgende Code generiert den Unterstring, nachdem die Position der bestimmten Zeichenfolge gesucht wird. Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um den Code zu testen. Ein String -Wert der mehreren Wörter wurde im Code definiert. Als nächstes wird die Position einer bestimmten Zeichenfolge in der Hauptzeichenfolge unter Verwendung der Funktion Find () durchsucht. Die Substr () -Funktion wurde verwendet, um die Unterstring ab dem Beginn der Zeichenfolge bis zum Positionswert zu generieren, der von der Find () -Funktion zurückgegeben wird.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

STD :: String strdata = "Ich mag C ++ - Programmierung";
// Lasst uns die Position von "-" mit STR finden.finden()
int Position = strdata.find ("programmieren");
// Wir werden das Substring bis zu diesem Muster bekommen
STD :: String NewStr = strdata.Substr (0, Position);
std :: Cout << strData << '\n';
std :: Cout << newstr << '\n';
Rückkehr 0;

Ausgang:

Gemäß dem Code ist der Hauptstringwert “.“Ich mag C ++ - ProgrammierungUnd der Wert der Suchziel ist "Programmierung' das existiert in der Hauptschnur. Die Ausgabe ist also 'Ich mag c++'Nachdem der Code ausgeführt wurde.

Beispiel 3: Verwenden von Substr () mit Ausnahmebehandlung

Die Funktion substr () wurde im folgenden Code mit Ausnahmebehandlung verwendet. Die Ausnahme wird generiert, wenn die ungültige Startposition in der Funktion substr () angegeben ist. Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um den Code zu testen. Im Try -Block wurde ein String -Wert eines Wortes zugewiesen, und in der Funktion substr () wurde eine ungültige Startposition verwendet, die eine Ausnahme erhöht und die Fehlermeldung druckt.

#enthalten
#enthalten
int main ()
versuchen
// eine String -Variable definieren
std :: string originalStr = "LinuxHint";
// Schneiden Sie die Sub -Zeichenfolge mit Substr () aus
STD :: String NewStr = OriginalStr.Substr (11,9);
// Drucken Sie die Unterzeichenfolge
std :: Cout <<"The substring is :" << newstr << '\n';

catch (const std :: out_of_range)
std :: cerr << "The position is out of Range.\n";

Rückkehr 0;

Ausgang:

Gemäß dem Code ist der Hauptstringwert “.“LinuxHintUnd der Wert der Startposition beträgt 11, die nicht existiert. Die Ausnahme wurde also generiert und die Fehlermeldung wurde nach der Ausführung des Codes gedruckt.

Beispiel 4: Verwenden Sie substr (), um die Zeichenfolge zu teilen

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 durchsuchen, und die Funktion erase () wurde verwendet, um die geteilte Zeichenfolge mit dem Trennzeichen aus der Hauptzeichenfolge zu entfernen. Die 'während' Schleife hat verwendet, um alle Positionen des Trennzeichens in der Hauptzeichenfolge zu finden und den gespaltenen Wert in das Vektor -Array zu speichern. Als nächstes wurden die Werte des Vektorarrays gedruckt.

LinuxHint@HP34: ~ $ cat a.CPP
#enthalten
#enthalten
#enthalten
int main ()
// die Zeichenfolge definieren
STD :: String StringData = "Php: C ++: Python:";
// Definieren Sie den Separator
std :: string separator = ":";
// die Vektorvariable deklarieren
STD :: Vektor Sprachen;
// Ganzzahlvariable deklarieren
int Position;
// String -Variable deklarieren
std :: string überstr;
/*
Teilen Sie die Zeichenfolge mit Substr () -Funktion auf
und Hinzufügen des gespaltenen Wortes in den Vektor
*/
while ((Position = StringData.Finden Sie (Separator)) != std :: string :: npos)
Sprachen.push_back (StringData.substr (0, Position));
StringData.löschen (0, Position + Separator.Länge());

// alle geteilten Wörter drucken
für (const auto & überstr: Sprachen)
std :: Cout << outstr << std::endl;

Rückkehr 0;

Ausgang:

Gemäß dem Code ist der Hauptstringwert “PHP: C ++: PythonUnd der Wert des Trennzeichens ist ": '. Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Abschluss

Der Hauptzweck für die Verwendung der Funktion substr () besteht darin, ein Substring aus einer Zeichenfolge abzurufen, indem die Startposition und die Länge der Unterstring erwähnt werden. Die verschiedenen Verwendungen dieser Funktion wurden in diesem Tutorial erläutert, indem mehrere Beispiele verwendet werden.