logo

strengfinn i C++

String find brukes til å finne den første forekomsten av en understreng i den angitte strengen som kalles på. Den returnerer indeksen for den første forekomsten av delstrengen i strengen fra den gitte startposisjonen. Standardverdien for startposisjonen er 0.

Det er en medlemsfunksjon av std::streng klasse.



Syntaks:

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>

Parametere:

    str : Understrengen som skal søkes i. s : Understrengen som skal søkes i, gitt som en C-stilstreng. pos : Startposisjonen der strengsøket skal begynne.

Returverdi:



  • Funksjonen returnerer indeksen for den første forekomsten av understrengen.
  • Hvis understrengen ikke blir funnet, returnerer den string::npos(string::pos er et statisk medlem med verdien som høyest mulig for datatypen size_t).

Kompleksitetsanalyse:

    Tidskompleksitet: O(N*M), der N er størrelsen på strengen(str) og M er størrelsen på understrengen som skal søkes i. Hjelpeområde: O(1)

Eksempel:

C++






j e s t

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

>

>

Produksjon

objekt til jsonobject java
First occurrence is 0 Next occurrence is 8>

Finn forekomsten av en karakter

Vi kan bruke finn-funksjonen til å finne forekomsten av et enkelt tegn også i strengen.

Syntaks:

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

Her, c er tegnet som skal søkes etter.

Eksempel:

C++




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

>

>

Produksjon

First occurrence is 0 Next occurrence is 8>

Søk etter en delstreng

Vi kan også søke etter en del av den gitte strengen.

Syntaks:

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

Her, n er antall tegn som skal samsvare.

Eksempel:

java annet

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

>

>

Produksjon

0>