Genial!
Completion tasa mejorada a 4.35single
Desafío: Búsqueda Dentro de Cadenas
Desliza para mostrar el menú
Método find()
A veces, es necesario buscar un texto específico dentro de un string. Esto se puede realizar utilizando los métodos .find() o .rfind(). Comencemos con el método .find().
find.h
1str.find("text to find")
Devuelve el índice del primer carácter de la primera coincidencia.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; // (code)codefinity }
También se puede especificar la posición del primer carácter en la cadena que se debe considerar en la búsqueda. Esto se realiza utilizando el argumento pos. Cualquier carácter anterior al índice pos se ignora en la búsqueda.
Aquí tienes un ejemplo de cómo encontrar la primera aparición de "code" comenzando desde el tercer carácter.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code", 3) << std::endl; // __de(code)finity }
Método rfind()
También es posible localizar la última aparición de un texto utilizando el método .rfind().
rfind.h
1str.rfind("text to find")
Mientras que .find() recupera la primera aparición de un texto, .rfind() encuentra la última aparición y significa búsqueda inversa.
main.cpp
12345678#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; std::cout << str.rfind("code") << std::endl; }
Cuando .find() o .rfind() no pueden localizar la subcadena, devuelven string::npos. Este es una constante numérica que representa una posición no válida. Se almacena como el valor más grande posible de size_t, lo que facilita la detección de búsquedas fallidas.
main.cpp
12345678#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.rfind("abc") << std::endl; std::cout << std::string::npos << std::endl; }
Swipe to start coding
Estás desarrollando un filtro de correo electrónico simple. Tu objetivo es permitir que los usuarios se registren con cualquier correo electrónico y marcar los correos de codefinity.com como permitidos.
La función isAllowedEmail recibe un email como string.
- Utiliza
rfind()para encontrar el último símbolo'@'en el correo electrónico. - Compara el resultado de
rfindcon-1para verificar si existe el símbolo'@'. Si no se encuentra ningún'@', devuelvefalseporque el correo electrónico no es válido. - Inicializa una variable de tipo string llamada
domaincomo una cadena vacía. - Utiliza un bucle
forcomenzando desdeatPos + 1hasta la longitud deemailpara iterar sobre los caracteres después del'@'. - En cada iteración, agrega el carácter a la variable
domain. - Si
domaines igual a"codefinity.com", devuelvetrue. De lo contrario, devuelvefalse.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla