logo

șir de caractere găsit în C++

Şir find este folosit pentru a găsi prima apariție a unui subșir în șirul specificat apelat. Returnează indexul primei apariții a subșirului din șir din poziția de pornire dată. Valoarea implicită a poziției de pornire este 0.

Este o funcție de membru a std::string clasă.

Sintaxă:



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>

Parametri:

    str : Sub-șirul care trebuie căutat. s : Sub-șirul care trebuie căutat, dat ca șir în stil C. pos : Poziția inițială de unde urmează să înceapă căutarea șirurilor.

Valoare returnată:

  • Funcția returnează indexul primei apariții a subșirului.
  • Dacă sub-șirul nu este găsit, returnează string::npos(string::pos este un membru static cu valoarea sa cea mai mare posibilă pentru tipul de date size_t).

Analiza complexitatii:

sortarea în listă în java
    Complexitatea timpului: O(N*M), unde N este dimensiunea șirului (str) și M este dimensiunea subșirului care trebuie căutat. Spațiu auxiliar: O(1)

Exemplu:

C++




matematică pow java

// 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;> }>

>

>

Ieșire

First occurrence is 0 Next occurrence is 8>

Găsiți apariția unui personaj

Putem folosi funcția de căutare pentru a găsi și apariția unui singur caracter în șir.

Sintaxă:

size_t find (const char c, size_t pos = 0);>

Aici, c este personajul care trebuie căutat.

Exemplu:

C++


sortarea cochiliei



// 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;> }>

>

>

c șir formatat
Ieșire

First occurrence is 0 Next occurrence is 8>

Căutați un șir parțial

De asemenea, putem căuta o parte din șirul dat.

Sintaxă:

size_t find (const char *str, size_t pos, size_t n);>

Aici, n este numărul de caractere de potrivire.

Exemplu:

C++


instrucțiunea switch java



// 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;> }>

>

>

Ieșire

0>