Styga Find naudojamas norint rasti pirmą eilutę nurodytoje iškviečiamoje eilutėje. Jis grąžina pirmosios eilutės poeilės pasireiškimo indeksą iš nurodytos pradinės padėties. Numatytoji pradinės padėties reikšmė yra 0.
Tai yra nario funkcija std::string klasė.
Sintaksė:
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>
Parametrai:
- str : poeilutė, kurios reikia ieškoti. s : ieškoma antrinė eilutė, pateikta kaip C stiliaus eilutė. poz : pradinė padėtis, nuo kurios turi prasidėti eilutės paieška.
Grąžinimo vertė:
- Funkcija grąžina pirmosios eilutės dalies indeksą.
- Jei antrinė eilutė nerandama, ji grąžina eilutę::npos(string::pos yra statinis narys, kurio reikšmė yra didžiausia galima dydžio_t duomenų tipui).
Sudėtingumo analizė:
- Laiko sudėtingumas: O(N*M), kur N yra eilutės (str) dydis, o M yra ieškomos eilutės dydis. Pagalbinė erdvė: O(1)
Pavyzdys:
C++
Kaip atsisiųsti video iš youtube vlc
// 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;> }> |
>
linkedlist java
>Išvestis
First occurrence is 0 Next occurrence is 8>
Raskite veikėjo atsiradimą
Galime naudoti paieškos funkciją, norėdami rasti ir vieno simbolio atsiradimą eilutėje.
Sintaksė:
size_t find (const char c, size_t pos = 0);>
Čia c yra ieškomas veikėjas.
Pavyzdys:
C++
mašinraščio datos tipas
// 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;> }> |
>
>Išvestis
First occurrence is 0 Next occurrence is 8>
Ieškokite dalinės eilutės
Taip pat galime ieškoti nurodytos eilutės dalies.
Sintaksė:
size_t find (const char *str, size_t pos, size_t n);>
Čia n yra simbolių, kuriuos reikia atitikti, skaičius.
Pavyzdys:
C++
java vartotojo įvestis
// 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;> }> |
>
>Išvestis
0>