Fantastico!
Completion tasso migliorato a 4.35single
Sfida: Ricerca All'interno Delle Stringhe
Scorri per mostrare il menu
Metodo find()
A volte può essere necessario cercare un testo specifico all'interno di una string. Questo può essere fatto utilizzando i metodi .find() o .rfind(). Iniziamo con il metodo .find().
find.h
1str.find("text to find")
Restituisce l'indice del primo carattere della prima corrispondenza.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; // (code)codefinity }
È inoltre possibile specificare la posizione del primo carattere della stringa da considerare nella ricerca. Questo può essere fatto utilizzando l'argomento pos. Tutti i caratteri precedenti all'indice pos vengono ignorati durante la ricerca.
Ecco un esempio di ricerca della prima occorrenza di "code" a partire dal terzo carattere.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code", 3) << std::endl; // __de(code)finity }
Metodo rfind()
È possibile individuare anche l'ultima occorrenza di un testo utilizzando il metodo .rfind().
rfind.h
1str.rfind("text to find")
Mentre .find() recupera la prima occorrenza di un testo, .rfind() trova l'ultima occorrenza e sta per reverse find (ricerca 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; }
Quando .find() o .rfind() non riescono a individuare la sottostringa, restituiscono string::npos. Questo è una costante numerica che rappresenta una posizione non valida. È memorizzata come il valore massimo possibile di size_t, il che rende semplice rilevare le ricerche non riuscite.
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
Stai creando un semplice filtro email. L'obiettivo è consentire agli utenti di registrarsi con qualsiasi email e contrassegnare come consentite le email provenienti da codefinity.com.
La funzione isAllowedEmail accetta un parametro email di tipo string.
- Utilizzare
rfind()per trovare l'ultima occorrenza del simbolo'@'nell'email. - Confrontare il risultato di
rfindcon-1per verificare se il simbolo'@'è presente. Se non viene trovato nessun'@', restituirefalseperché l'email non è valida. - Inizializzare una variabile stringa
domaincome stringa vuota. - Utilizzare un ciclo
fora partire daatPos + 1fino alla lunghezza diemailper iterare sui caratteri dopo il simbolo'@'. - In ogni iterazione, aggiungere il carattere alla variabile
domain. - Se
domainè uguale a"codefinity.com", restituiretrue. Altrimenti, restituirefalse.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione