La stringa C++ contiene una sottostringa

La Stringa C Contiene Una Sottostringa



In C++ abbiamo il tipo di dati string e possiamo applicare le diverse funzioni per eseguire le varie attività con le stringhe. Possiamo verificare se la sottostringa è presente all'interno della stringa originale. Possiamo anche dire che “la stringa contiene la sottostringa”. In questa guida impareremo le tecniche che ci aiutano a trovare la “stringa contiene la sottostringa”. Le funzioni “find()” e “strstr()” ci aiutano a svolgere questo compito nella programmazione C++.

Esempio 1:

'iostream' e 'string' sono i file di intestazione inclusi qui poiché dobbiamo lavorare con le stringhe e dobbiamo anche inserire o emettere i dati. Quindi, dobbiamo includere questi file di intestazione qui. Successivamente includiamo il “namespace std” con l’aiuto della parola chiave “using”. Quindi, non abbiamo bisogno di inserire questo 'std' con tutte le funzioni separatamente nel nostro codice. Quindi, qui viene richiamata la funzione “main()”.







Ora dichiariamo la stringa 'str_1' e assegniamo alcuni dati di stringa a questa variabile. Successivamente, inizializziamo anche un'altra variabile denominata 'str_2' del tipo di dati 'string' e assegniamo 'like' a questa variabile 'str_2'. Al di sotto di questo, utilizziamo la parola chiave 'bool' per fornire risultati veri o falsi. Inizializziamo 'stringHasStr' con questo tipo di dati 'bool' e utilizziamo la funzione 'find()'. Questo cerca la 'stringa contiene la sottostringa'. 'str_1' è la stringa completa e 'str_2' è la sottostringa.



Qui aggiungiamo anche la parola chiave 'npos' che viene utilizzata per mostrare che non ci sono corrispondenze in questa stringa. Controlla se la stringa contiene una sottostringa e memorizza il risultato in questa variabile bool 'stringHasStr'.



Quindi, andiamo avanti verso la condizione 'if' e passiamo questa variabile 'stringHasStr' a questa condizione 'if'. Se il risultato memorizzato in questa variabile bool è 'true', viene impiegata l'istruzione dopo questa condizione 'if' in cui utilizziamo 'cout' e visualizziamo la stringa che si trova qui. Ma se il risultato 'falso' viene memorizzato in questa variabile bool, viene utilizzata l'altra parte e viene visualizzato che la stringa non è stata trovata qui.





Codice 1:

#include
#include

utilizzando lo spazio dei nomi std;
int principale ( )
{
stringastr_1 = 'Mi piace il linguaggio di programmazione C++' ;
stringastr_2 = 'Piace' ;
bool stringHasStr = str_1.find ( str_2 ) ! = stringa::npos;
Se ( stringHasStr ) {
cout << 'Troviamo qui la stringa che è ' << str_2 << fine;
}
altro {
cout << 'La stringa non trovata' << fine;
}
ritorno 0 ;
}



Produzione:

Questo dato output rende che la stringa contiene la sottostringa e la visualizza qui. Lo controlliamo utilizzando la funzione “find()”.

Esempio 2:

Includiamo qui tre file di intestazione che sono 'iostream', 'string' e 'cstring'. Quindi, richiama 'main()' dopo aver posizionato 'namespace std'. La stringa 'new_str' è ora dichiarata e vengono assegnati alcuni dati della stringa.

Successivamente, inizializziamo una seconda variabile del tipo di dati 'string' chiamata 'sub_str' e le diamo il valore 'very'. Quindi inseriamo il “const char*”. Pertanto, è impossibile modificare il valore del puntatore in modo che punti all’altra posizione nella memoria. Qui dichiariamo la variabile 'FindingStr' come puntatore 'const char*'. Lo inizializziamo con il metodo “strstr()” e passiamo entrambe le stringhe insieme alla funzione “c_str()” che trasforma una stringa in un array di caratteri che termina con un valore null. Questo metodo 'strstr()' aiuta a verificare se la stringa 'new_str' contiene o meno la sottostringa 'sub_str'. Quindi, abbiamo 'if' in cui aggiungiamo 'FindingStr'. Se trova la sottostringa nell'originale, viene eseguita l'istruzione dopo 'if' dove utilizziamo 'cout'. Se la sottostringa non viene trovata, si sposta direttamente verso la parte “else” e stampa il risultato che viene posizionato dopo la parte “else”.

Codice 2:

#include
#include
#include

utilizzando lo spazio dei nomi std;
int principale ( )
{
stringa nuova_str = 'Fuori piove e il tempo è molto piacevole.' ;
stringa sub_str = 'molto' ;
const car * RicercaStr = strstr ( new_str.c_str ( ) , sub_str.c_str ( ) ) ;
Se ( TrovandoStr ) {
cout << 'Troviamo la stringa e la stringa è: ' << sottostr << fine;
}
altro {
cout << 'Stringa non trovata' << fine;
}
ritorno 0 ;
}

Produzione:

Potremmo notare che la stringa data contiene la sottostringa poiché mostra l'istruzione che abbiamo aggiunto dopo 'if' e stampa qui la sottostringa. Lo controlliamo utilizzando la funzione “strstr()”.

Esempio 3:

Inizializziamo qui due variabili stringa: “myNewStr” e “mySubStr”. Quindi, assegniamo alcuni dati stringa e dichiariamo due variabili intere: “posOfStr” e “indexOfStr”.

Al di sotto di questo, utilizziamo il ciclo “ while()” e assegniamo la variabile della funzione “find()” alla variabile “indexOfStr” all'interno di questo ciclo “ while()”. Passiamo due variabili a questa funzione “find()” che sono “mySubStr” e “posOfStr”. Successivamente inseriamo la parola chiave “npos” che verifica che il risultato della funzione “trova” non sia uguale a “npos”. Successivamente, utilizziamo il 'cout' che incrementa il valore dell'indice di uno e lo memorizza nella variabile 'posOfStr'.

Codice 3:

#include
#include

utilizzando lo spazio dei nomi std;
int principale ( ) {
stringa miaNewStr = 'stiamo trovando la stringa qui' ;
stringa mySubStr = 'corda' ;
int posOfStr = 0 ;
int indiceDiStr;
Mentre ( ( indiceDiStr = miaNuovaStr.trova ( miaSottoStr, posOfStr ) ) ! = stringa::npos ) {
cout << ' La sottostringa è ' << ''' << miaStr << ''' << ' Trovato al numero indice: ' << indiceDiStr << fine;
posOfStr = indiceOfStr + 1 ;
}
ritorno 0 ;
}

Produzione:

Qui mostra che la stringa data contiene la sottostringa e il numero di indice di questa stringa è '19', che viene visualizzato anche in questo risultato.

Esempio 4:

In questo codice includiamo il file di intestazione 'bits/stdc++.h'. Ora non abbiamo bisogno di includere altri file header poiché contengono tutte le librerie richieste. Dopo aver invocato 'main()', inizializziamo le variabili 'org_str' e 'sub_str' del tipo di dati 'string'. Quindi aggiungiamo la condizione 'if' in cui utilizziamo la funzione 'strstr()'. Questa funzione cerca se la stringa data contiene la sottostringa desiderata. Quindi aggiungiamo un'istruzione 'cout' per stampare che la sottostringa si trova qui. Poi inseriamo anche la parte “else” che viene eseguita solo quando la condizione “if” non è soddisfatta o la sottostringa non viene trovata nella stringa.

Successivamente, dichiariamo la variabile “sub_str2” e assegniamo qui una stringa dati. Viene quindi inserita la condizione 'if' e viene utilizzata la funzione 'strstr()'. Questo metodo cerca se la stringa fornita contiene o meno la sottostringa richiesta. Il risultato viene quindi stampato qui utilizzando il comando 'cout'. Includiamo anche una sezione 'else' che viene eseguita solo se la condizione 'if' non è soddisfatta o se non è possibile individuare la sottostringa nella stringa.

Codice 4:

#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
stringa org_str = 'Linguaggio di programmazione C++' ;
stringa sub_str = 'Programma' ;
Se ( strstr ( org_str.c_str ( ) ,sub_str.c_str ( ) ) )
{
cout << 'La sottostringa qui è' << ''' << sotto_str << ''' << ' è presente in ' << org_str << fine;
}
altro {
cout << 'La sottostringa non è presente nella stringa.' << fine;
}
stringa sub_str2 = 'Giava' ;

Se ( strstr ( org_str.c_str ( ) ,sub_str2.c_str ( ) ) )
{
cout << 'La sottostringa qui è' << ''' << sub_str2 << ''' << ' è presente in ' << org_str << fine;
}
altro {
cout << 'La sottostringa non è presente in questa stringa.' << fine;
}
ritorno 0 ;
}

Produzione:

Il risultato della prima funzione “strstr()” mostra che la stringa contiene la sottostringa, ma il risultato della seconda funzione “strstr()” mostra che la sottostringa non è presente nella stringa.

Conclusione

Il concetto di “stringa contiene la sottostringa” viene approfondito in questa guida. Abbiamo esplorato due metodi che aiutano a cercare se la 'stringa contiene la sottostringa'. Abbiamo spiegato le funzioni 'find()' e 'strstr()' fornite da C++ in questa guida per eseguire questa attività. Lo dimostriamo con esempi unici in cui abbiamo imparato come utilizzare queste funzioni per verificare se la 'stringa contiene la sottostringa' al suo interno.