C++-String enthält einen Teilstring

C String Enthalt Einen Teilstring



In C++ haben wir den String-Datentyp und können die verschiedenen Funktionen anwenden, um die verschiedenen Aufgaben mit den Strings zu erledigen. Wir können prüfen, ob der Teilstring im Originalstring vorhanden ist. Wir können auch sagen, dass die „Zeichenfolge die Teilzeichenfolge enthält“. In diesem Leitfaden lernen wir die Techniken kennen, die uns dabei helfen, die „Zeichenfolge enthält die Teilzeichenfolge“ zu finden. Die Funktionen „find()“ und „strstr()“ helfen uns bei dieser Aufgabe in der C++-Programmierung.

Beispiel 1:

„iostream“ und „string“ sind die Header-Dateien, die hier enthalten sind, da wir mit den Strings arbeiten und auch die Daten eingeben oder ausgeben müssen. Daher müssen wir diese Header-Dateien hier einbinden. Anschließend binden wir den „Namespace std“ mit Hilfe des Schlüsselworts „using“ ein. Wir müssen diesen „Standard“ also nicht mit allen Funktionen separat in unseren Code einfügen. Anschließend wird hier die Funktion „main()“ aufgerufen.







Jetzt deklarieren wir den String „str_1“ und weisen dieser Variablen einige String-Daten zu. Anschließend initialisieren wir auch eine weitere Variable namens „str_2“ vom Datentyp „string“ und weisen dieser „str_2“-Variable „like“ zu. Darunter verwenden wir das Schlüsselwort „bool“, um wahre oder falsche Ergebnisse zu liefern. Wir initialisieren den „stringHasStr“ mit diesem „bool“-Datentyp und nutzen die Funktion „find()“. Dadurch wird nach der „Zeichenfolge, die die Teilzeichenfolge enthält“ gesucht. „str_1“ ist die vollständige Zeichenfolge und „str_2“ ist die Teilzeichenfolge.



Hier fügen wir auch das Schlüsselwort „npos“ hinzu, das verwendet wird, um anzuzeigen, dass es in dieser Zeichenfolge keine Übereinstimmungen gibt. Es prüft, ob der String einen Teilstring enthält und speichert das Ergebnis in dieser Bool-Variablen „stringHasStr“.



Dann gehen wir weiter zur „if“-Bedingung und übergeben diese „stringHasStr“-Variable an diese „if“-Bedingung. Wenn das in dieser Bool-Variablen gespeicherte Ergebnis „wahr“ ist, wird die Anweisung nach dieser „if“-Bedingung verwendet, wobei wir „cout“ verwenden und die hier gefundene Zeichenfolge anzeigen. Wenn jedoch das „falsche“ Ergebnis in dieser Bool-Variablen gespeichert wird, wird der andere Teil verwendet und zeigt an, dass die Zeichenfolge hier nicht gefunden wird.





Code 1:

#include
#include

Verwenden des Namensraums std;
int main ( )
{
string str_1 = „Ich mag die Programmiersprache C++“ ;
string str_2 = 'wie' ;
bool stringHasStr = str_1.find ( str_2 ) ! = string::npos;
Wenn ( stringHasStr ) {
cout << „Wir finden hier die Zeichenfolge, die lautet:“ << str_2 << endl;
}
anders {
cout << „Die Zeichenfolge wurde nicht gefunden“ << endl;
}
zurückkehren 0 ;
}



Ausgabe:

Diese gegebene Ausgabe gibt an, dass die Zeichenfolge die Teilzeichenfolge enthält, und zeigt sie hier an. Wir überprüfen dies, indem wir die Funktion „find()“ verwenden.

Beispiel 2:

Wir fügen hier drei Header-Dateien ein: „iostream“, „string“ und „cstring“. Rufen Sie dann „main()“ auf, nachdem Sie „namespace std“ platziert haben. Der String „new_str“ ist nun deklariert und einige String-Daten werden zugewiesen.

Als nächstes initialisieren wir eine zweite Variable vom Datentyp „string“ namens „sub_str“ und geben ihr den Wert „very“. Dann platzieren wir das „const char*“. Daher ist es unmöglich, den Wert des Zeigers so zu ändern, dass er auf die andere Stelle im Speicher zeigt. Wir deklarieren hier die Variable „FindingStr“ als diesen „const char*“-Zeiger. Wir initialisieren es mit der Methode „strstr()“ und übergeben beide Strings zusammen mit der Funktion „c_str()“, die einen String in ein Zeichenarray umwandelt, das mit einem Nullwert endet. Diese „strstr()“-Methode hilft bei der Überprüfung, ob die Zeichenfolge „new_str“ die Teilzeichenfolge „sub_str“ enthält oder nicht. Dann haben wir „if“, in dem wir den „FindingStr“ hinzufügen. Wenn der Teilstring im Original gefunden wird, wird die Anweisung nach „if“ ausgeführt, wobei wir „cout“ verwenden. Wenn die Teilzeichenfolge nicht gefunden wird, bewegt sie sich direkt zum „else“-Teil und gibt das Ergebnis aus, das nach dem „else“-Teil platziert wird.

Code 2:

#include
#include
#include

Verwenden des Namensraums std;
int main ( )
{
string new_str = „Draußen regnet es und das Wetter ist sehr angenehm.“ ;
string sub_str = 'sehr' ;
const char * FindingStr = strstr ( new_str.c_str ( ) , sub_str.c_str ( ) ) ;
Wenn ( FindingStr ) {
cout << „Wir finden den String und der String ist:“ << sub_str << endl;
}
anders {
cout << 'Zeichenkette nicht gefunden' << endl;
}
zurückkehren 0 ;
}

Ausgabe:

Wir bemerken möglicherweise, dass die angegebene Zeichenfolge die Teilzeichenfolge enthält, da sie die Anweisung anzeigt, die wir nach „if“ hinzugefügt haben, und die Teilzeichenfolge hier ausgibt. Wir überprüfen dies, indem wir die Funktion „strstr()“ verwenden.

Beispiel 3:

Wir initialisieren hier zwei String-Variablen: „myNewStr“ und „mySubStr“. Dann weisen wir einige String-Daten zu und deklarieren zwei ganzzahlige Variablen: „posOfStr“ und „indexOfStr“.

Darunter verwenden wir die „while()“-Schleife und weisen die Funktionsvariable „find()“ der Variablen „indexOfStr“ innerhalb dieser „while()“-Schleife zu. Wir übergeben dieser Funktion „find()“ zwei Variablen: „mySubStr“ und „posOfStr“. Dann platzieren wir das Schlüsselwort „npos“, das prüft, ob das Ergebnis der Funktion „find“ nicht gleich „npos“ ist. Danach verwenden wir „cout“, das den Indexwert um eins erhöht und ihn in der Variablen „posOfStr“ speichert.

Code 3:

#include
#include

Verwenden des Namensraums std;
int main ( ) {
string myNewStr = „Wir finden die Zeichenfolge hier“ ;
string mySubStr = „Zeichenfolge“ ;
int posOfStr = 0 ;
int indexOfStr;
während ( ( indexOfStr = myNewStr.find ( mySubStr, posOfStr ) ) ! = string::npos ) {
cout << „Der Teilstring ist“ << ''' << mySubStr << ''' << „Gefunden unter Indexnummer:“ << indexOfStr << endl;
posOfStr = indexOfStr + 1 ;
}
zurückkehren 0 ;
}

Ausgabe:

Hier wird gezeigt, dass die angegebene Zeichenfolge die Teilzeichenfolge enthält und die Indexnummer dieser Zeichenfolge „19“ ist, was auch in diesem Ergebnis angezeigt wird.

Beispiel 4:

In diesen Code fügen wir die Header-Datei „bits/stdc++.h“ ein. Jetzt müssen wir keine weiteren Header-Dateien einbinden, da diese alle erforderlichen Bibliotheken enthalten. Nach dem Aufruf von „main()“ initialisieren wir die Variablen „org_str“ und „sub_str“ des Datentyps „string“. Dann fügen wir die „if“-Bedingung hinzu, in der wir die Funktion „strstr()“ verwenden. Diese Funktion sucht, um festzustellen, ob die angegebene Zeichenfolge die gewünschte Teilzeichenfolge enthält. Dann fügen wir eine „cout“-Anweisung hinzu, um auszugeben, dass die Teilzeichenfolge hier gefunden wird. Dann fügen wir auch den „else“-Teil ein, der nur ausgeführt wird, wenn die „if“-Bedingung nicht erfüllt ist oder der Teilstring nicht im String gefunden wird.

Danach deklarieren wir die Variable „sub_str2“ und weisen hier String-Daten zu. Anschließend wird die „if“-Bedingung eingefügt und die Funktion „strstr()“ verwendet. Diese Methode sucht, ob die bereitgestellte Zeichenfolge die angeforderte Teilzeichenfolge enthält oder nicht. Das Ergebnis wird dann hier mit dem Befehl „cout“ gedruckt. Wir fügen auch einen „else“-Abschnitt hinzu, der nur ausgeführt wird, wenn die „if“-Bedingung nicht erfüllt ist oder wenn die Teilzeichenfolge nicht in der Zeichenfolge gefunden werden kann.

Code 4:

#include
Verwenden des Namensraums std;
int main ( ) {
string org_str = „Programmiersprache C++“ ;
string sub_str = 'Programm' ;
Wenn ( strstr ( org_str.c_str ( ) ,sub_str.c_str ( ) ) )
{
cout << „Der Teilstring hier ist“ << ''' << sub_str << ''' << „ist vorhanden in“ << org_str << endl;
}
anders {
cout << „Teilzeichenfolge ist in der Zeichenfolge nicht vorhanden.“ << endl;
}
string sub_str2 = 'Java' ;

Wenn ( strstr ( org_str.c_str ( ) ,sub_str2.c_str ( ) ) )
{
cout << „Der Teilstring hier ist“ << ''' << sub_str2 << ''' << „ist vorhanden in“ << org_str << endl;
}
anders {
cout << „Teilzeichenfolge ist in dieser Zeichenfolge nicht vorhanden.“ << endl;
}
zurückkehren 0 ;
}

Ausgabe:

Das Ergebnis der ersten „strstr()“-Funktion zeigt, dass die Zeichenfolge die Teilzeichenfolge enthält, aber das Ergebnis der zweiten „strstr()“-Funktion zeigt, dass die Teilzeichenfolge nicht in der Zeichenfolge vorhanden ist.

Abschluss

Das Konzept „String enthält den Teilstring“ wird in diesem Handbuch ausführlich untersucht. Wir haben zwei Methoden untersucht, die bei der Suche helfen, ob die „Zeichenfolge die Teilzeichenfolge enthält“. Wir haben die „find()“- und „strstr()“-Funktionen erklärt, die C++ hier in diesem Handbuch für diese Aufgabe bereitstellt. Wir demonstrieren anhand einzigartiger Beispiele, in denen wir gelernt haben, wie wir diese Funktionen verwenden, um zu überprüfen, ob die „Zeichenfolge die Teilzeichenfolge enthält“.