Zeichenfolge find wird verwendet, um das erste Vorkommen einer Teilzeichenfolge in der angegebenen aufgerufenen Zeichenfolge zu finden. Es gibt den Index des ersten Vorkommens des Teilstrings im String ab der angegebenen Startposition zurück. Der Standardwert der Startposition ist 0.
Es ist eine Mitgliedsfunktion von std::string Klasse.
Syntax:
size_t find (const string& str, size_t pos = 0); // for C++ Style Strings or size_t find (const char* s, size_t pos = 0); // for C-Style Strings>
Parameter:
- str: Die zu durchsuchende Teilzeichenfolge. s: Die zu durchsuchende Teilzeichenfolge, angegeben als Zeichenfolge im C-Stil. pos: Die Anfangsposition, an der die Zeichenfolgensuche beginnen soll.
Rückgabewert:
- Die Funktion gibt den Index des ersten Vorkommens der Teilzeichenfolge zurück.
- Wenn die Teilzeichenfolge nicht gefunden wird, wird string::npos zurückgegeben (string::pos ist ein statisches Mitglied mit dem höchstmöglichen Wert für den Datentyp size_t).
Komplexitätsanalyse:
- Zeitkomplexität: O(N*M), Dabei ist N die Größe der Zeichenfolge (str) und M die Größe der zu durchsuchenden Teilzeichenfolge. Hilfsraum: O(1)
Beispiel:
C++
// C++ program to demonstrate> // working of string.find()> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >string str =>'geeksforgeeks a computer science'>;> >string str1 =>'geeks'>;> > >// Find first occurrence of 'geeks'> >size_t> found = str.find(str1);> >if> (found != string::npos)> >cout <<>'First occurrence is '> <<> >found << endl;> > >// Find next occurrence of 'geeks'.> >// Note here we pass> >// 'geeks' as C style string.> >char> arr[] =>'geeks'>;> >found = str.find(arr, found+1);> >if> (found != string::npos)> >cout <<>'Next occurrence is '> <<> >found << endl;> >return> 0;> }> |
>
>Ausgabe
First occurrence is 0 Next occurrence is 8>
Finden Sie das Vorkommen eines Zeichens
Mit der Suchfunktion können wir auch das Vorkommen eines einzelnen Zeichens in der Zeichenfolge finden.
Syntax:
size_t find (const char c, size_t pos = 0);>
Hier, C ist das zu suchende Zeichen.
Beispiel:
C++
Java-Stringlänge
// C++ program to demonstrate> // working of string find> // to find occurrence of> // a character> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >string str =>'geeksforgeeks a computer science'>;> >char> c =>'g'>;> >// Find first occurrence of 'g'> >size_t> found = str.find(c);> >if> (found != string::npos)> >cout <<>'First occurrence is '> <<> >found << endl;> > >// Find next occurrence of 'g'> >found = str.find(c, found + 1);> >if> (found != string::npos)> >cout <<>'Next occurrence is '> <<> >found << endl;> >return> 0;> }> |
>
>Ausgabe
First occurrence is 0 Next occurrence is 8>
Suchen Sie nach einer Teilzeichenfolge
Wir können auch nach einem Teil der angegebenen Zeichenfolge suchen.
Syntax:
size_t find (const char *str, size_t pos, size_t n);>
Hier, N ist die Anzahl der übereinstimmenden Zeichen.
Beispiel:
C++
// C++ program to demonstrate> // working of string find to> // search a string> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >string str =>'geeksforgeeks a computer science'>;> > >// Only search first 5 characters> >// of 'geeks.practice'> >size_t> found = str.find(>'geeks.practice'>,> >0, 5);> >if> (found != string::npos)> >cout << found << endl;> >return> 0;> }> |
>
>Ausgabe
0>