std::string::rfind en C++ con ejemplos

std ::string::rfind es una función miembro de la clase de string que se utiliza para buscar la última aparición de cualquier carácter en la string. Si el carácter está presente en la string, devuelve el índice de la última aparición de ese carácter en la string; de lo contrario, devolverá string::npos , que indica que el puntero está al final de la string. Archivo de cabecera:

#include < string >

Sintaxis 1:

rfind(char ch)
rfind(string str)

Parámetros: Esta función toma como parámetro un carácter dado o una string , cuyo índice se busca. Valor devuelto: este método devuelve la posición de la última aparición de ese carácter o el primer índice de la última aparición de la string. Programa 1: A continuación se muestra el programa para ilustrar string::rfind(char ch)

CPP

// C++ program to demonstrate
// rfind() method
 
#include <cstddef>
#include <iostream>
#include <string>
using namespace std;
 
// Function to return last occurrence
// of character in a string
void findLastOccurrence(string str, char ch)
{
 
    // To store the index of the result
    size_t found;
 
    // Function to find the last
    // occurrence of character ch
    // in string str
    found = str.rfind(ch);
 
    // If string doesn't have
    // character ch present in it
    if (found == string::npos) {
        cout << "Character " << ch
             << " is not present in"
             << " the given string.";
    }
 
    // Else print the position
    else {
        cout << "The last occurrence of '"
             << ch << "' is found at index: "
             << found << endl;
    }
}
 
// Driver Code
int main()
{
    // Given String
    string str("Welcome to GeeksforGeeks!");
 
    // Character to be found
    char ch = 'e';
 
    findLastOccurrence(str, ch);
}
Salida: La última aparición de ‘e’ se encuentra en el índice: 21

Programa 2: A continuación se muestra el programa para ilustrar string::rfind(string str)

CPP

// C++ program to demonstrate
// rfind() method
 
#include <cstddef>
#include <iostream>
#include <string>
using namespace std;
 
// Function to return last occurrence
// of string in a string
void findLastOccurrence(string str, string s)
{
 
    // To store the index of the result
    size_t found;
 
    // Function to find the first index
    // of last occurrence of string s in str
    found = str.rfind(s);
 
    // If string doesn't have
    // string s present in it
    if (found == string::npos) {
        cout << "String '" << s
             << "' is not present in"
             << " the given string.";
    }
 
    // Else print the position
    else {
        cout << "The first index of last "
             << "occurrence of '" << s
             << "' is found at index: "
             << found << endl;
    }
}
 
// Driver Code
int main()
{
    // Given String
    string str("Welcome to GeeksforGeeks!");
 
    // string to be found
    string s = "to";
 
    findLastOccurrence(str, s);
}
Salida: el primer índice de la última aparición de ‘to’ se encuentra en el índice: 8

Sintaxis 2:

rfind(char ch, size_t position);
rfind(string s, size_t position); 

Parámetros: Esta función toma:

  • un carácter dado o una string como parámetro, cuyo índice se encuentra.
  • una posición hasta donde se va a realizar la búsqueda.

Valor devuelto: este método devuelve la posición del primer carácter de la última coincidencia de ese carácter o string antes de esa posición; de lo contrario, devuelve string::npos Programa 3: a continuación se muestra el programa para ilustrar string::rfind(char ch, size_t posición): 

CPP

// C++ program to illustrate the function
// string::rfind(char ch, size_t pos)
 
#include <cstddef>
#include <iostream>
#include <string>
using namespace std;
 
// Function to return last occurrence
// of character in a string
void findLastOccurrence(
    string str, char ch, size_t position)
{
 
    // To store the index of the result
    size_t found;
 
    // Function to find the last occurrence
    // of character ch in str before pos 5
    found = str.rfind(ch, position);
 
    // If string doesn't have
    // character ch present in it
    if (found == string::npos) {
        cout << "Character " << ch
             << " is not present in"
             << " the given string.";
    }
 
    // Else print the position
    else {
        cout << "The last occurrence of "
             << ch << " before position "
             << position
             << " is found at index: "
             << found << endl;
    }
}
 
// Driver Code
int main()
{
    // Given String
    string str("Welcome to GeeksforGeeks!");
 
    // Character to be found
    char ch = 'e';
 
    // Position till where
    // the search is to be done
    size_t position = 5;
 
    findLastOccurrence(str, ch, position);
}
Salida: La última aparición de e antes de la posición 5 se encuentra en el índice: 1

Programa 4: A continuación se muestra el programa para ilustrar string::rfind(string str, size_t position): 

CPP

// C++ program to illustrate the function
// string::rfind(string str, size_t pos)
#include <cstddef>
#include <iostream>
#include <string>
using namespace std;
 
// Function to return last occurrence
// of string in a string
void findLastOccurrence(
    string str, string s, size_t position)
{
 
    // To store the index of result
    size_t found;
 
    // Function to find the last occurrence of
    // string s in str before given position
    found = str.rfind(s, position);
 
    // If string doesn't have
    // string s present in it
 
    // If string doesn't have
    // string s present in it
    if (found == string::npos) {
        cout << "String " << s
             << " is not present in"
             << " the given string.";
    }
 
    // Else print the position
    else {
        cout << "The last occurrence of "
             << s << " before position "
             << position
             << " is found at index: "
             << found << endl;
    }
}
 
// Driver Code
int main()
{
 
    // Given String
    string str("Welcome to GeeksforGeeks!");
 
    // string to be found
    string s = "to";
 
    // Position till where
    // the search is to be done
    size_t position = 5;
 
    findLastOccurrence(str, s, position);
}
Salida: String to no está presente en la string dada.

Publicación traducida automáticamente

Artículo escrito por pranjal_g99 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 *