búsqueda de strings en C++

La búsqueda de strings se utiliza para encontrar la primera aparición de una substring en la string especificada que se está invocando. Devuelve el índice de la primera aparición de la substring en la string desde la posición inicial dada. El valor predeterminado de la posición inicial es 0.

Plantilla de función:

  • size_t find (const string& str, size_t pos = 0);
  • size_t find (const char* s, size_t pos = 0);

Parámetros de la función:

  • str : La substring que se buscará.
  • s: la substring que se buscará, dada como string de estilo C.
  • pos : La posición inicial desde donde comenzará la búsqueda de strings.

Retorno de función:

  • La función devuelve el índice de la primera aparición de substring; si no se encuentra la substring, devuelve string::npos(string::pos es un miembro estático con el valor más alto posible para la estructura de datos size_t).
// CPP program to demonstrate working of string
// find to search a string
#include <iostream>
#include <string>
  
using namespace std;
  
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;
}
Producción:

First occurrence is 0
Next occurrence is 8

También podemos usarlo para encontrar la aparición de un carácter:
en la siguiente sintaxis, tenga en cuenta que c es un carácter.

  • size_t find (const char c, size_t pos = 0);
// CPP program to demonstrate working of string
// find to search a string
#include <iostream>
#include <string>
  
using namespace std;
  
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;
}
Producción:

First occurrence is 0
Next occurrence is 8

También podemos buscar una string parcial
. En la siguiente sintaxis, tenga en cuenta que n es el número de caracteres que deben coincidir.

  • size_t find (const char *str, size_t pos, size_t n);
// CPP program to demonstrate working of string
// find to search a string
#include <iostream>
#include <string>
  
using namespace std;
  
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;
}
Producción:

0

Publicación traducida automáticamente

Artículo escrito por SarthakKhandelwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *