La chaîne C++ contient une sous-chaîne

La Chaine C Contient Une Sous Chaine



En C++, nous avons le type de données chaîne et pouvons appliquer les différentes fonctions pour effectuer les différentes tâches avec les chaînes. Nous pouvons vérifier si la sous-chaîne est présente dans la chaîne d'origine. On peut aussi dire que la « chaîne contient la sous-chaîne ». Dans ce guide, nous apprendrons les techniques qui nous aideront à trouver la « chaîne contenant la sous-chaîne ». Les fonctions « find() » et « strstr() » nous aident à accomplir cette tâche en programmation C++.

Exemple 1:

Le « iostream » et la « string » sont les fichiers d'en-tête qui sont inclus ici car nous devons travailler avec les chaînes et devons également entrer ou sortir les données. Nous devons donc inclure ces fichiers d'en-tête ici. Après cela, nous incluons le « namespace std » à l'aide du mot-clé « using ». Nous n’avons donc pas besoin de mettre ce « std » avec toutes les fonctions séparément dans notre code. Ensuite, la fonction « main() » est invoquée ici.







Maintenant, nous déclarons la chaîne « str_1 » et attribuons des données de chaîne à cette variable. Ensuite, nous initialisons également une autre variable nommée « str_2 » du type de données « string » et attribuons « like » à cette variable « str_2 ». En dessous, nous utilisons le mot-clé « bool » pour donner des résultats vrais ou faux. Nous initialisons le « stringHasStr » avec ce type de données « bool » et utilisons la fonction « find() ». Cela recherche la « chaîne contient la sous-chaîne ». Le « str_1 » est la chaîne complète et « str_2 » est la sous-chaîne.



Ici, nous ajoutons également le mot-clé « npos » qui est utilisé pour montrer qu'il n'y a aucune correspondance dans cette chaîne. Il vérifie si la chaîne contient une sous-chaîne et stocke le résultat dans cette variable booléenne « stringHasStr ».



Ensuite, nous avançons vers la condition « if » et passons cette variable « stringHasStr » à cette condition « if ». Si le résultat stocké dans cette variable bool est « vrai », l'instruction après cette condition « if » est utilisée où nous utilisons le « cout » et affichons la chaîne qui se trouve ici. Mais si le résultat « faux » est stocké dans cette variable booléenne, l’autre partie est utilisée et affiche que la chaîne n’est pas trouvée ici.





Codage 1 :

#include
#include

en utilisant l'espace de noms std ;
int main ( )
{
chaîne str_1 = 'J'aime le langage de programmation C++' ;
chaîne str_2 = 'comme' ;
bool stringHasStr = str_1.find ( str_2 ) ! = chaîne ::npos;
si ( chaîneHasStr ) {
cout << 'On retrouve ici la chaîne qui est ' << str_2 << fin;
}
autre {
cout << 'La chaîne introuvable' << fin;
}
retour 0 ;
}



Sortir:

Cette sortie donnée indique que la chaîne contient la sous-chaîne et l'affiche ici. Nous vérifions cela en utilisant la fonction « find() ».

Exemple 2 :

Nous incluons ici trois fichiers d'en-tête qui sont « iostream », « string » et « cstring ». Ensuite, invoquez le « main() » après avoir placé le « namespace std ». La chaîne « new_str » est maintenant déclarée et certaines données de chaîne sont attribuées.

Ensuite, nous initialisons une deuxième variable de type de données « string » appelée « sub_str » et lui donnons la valeur « very ». Ensuite, on place le « const char* ». Ainsi, changer la valeur du pointeur pour pointer vers un autre emplacement de la mémoire est impossible. Nous déclarons ici la variable « FindingStr » comme ce pointeur « const char* ». Nous l'initialisons avec la méthode « strstr() » et transmettons les deux chaînes avec la fonction « c_str() » qui transforme une chaîne en un tableau de caractères se terminant par une valeur nulle. Cette méthode « strstr() » permet de vérifier si la chaîne « new_str » contient ou non la sous-chaîne « sub_str ». Ensuite, on a « if » dans lequel on ajoute le « FindingStr ». S'il trouve la sous-chaîne dans l'original, l'instruction après « if » est exécutée là où nous utilisons le « cout ». Si la sous-chaîne n'est pas trouvée, elle se déplace directement vers la partie « else » et imprime le résultat qui est placé après la partie « else ».

Code 2 :

#include
#include
#include

en utilisant l'espace de noms std ;
int main ( )
{
chaîne new_str = 'Il pleut dehors et le temps est très agréable.' ;
chaîne sub_str = 'très' ;
const char * FindingStr = strstr ( new_str.c_str ( ) , sub_str.c_str ( ) ) ;
si ( FindingStr ) {
cout << 'On trouve la String et la string est : ' << sub_str << fin;
}
autre {
cout << 'Chaîne introuvable' << fin;
}
retour 0 ;
}

Sortir:

Nous pourrions remarquer que la chaîne donnée contient la sous-chaîne car elle affiche l'instruction que nous avons ajoutée après « if » et imprime la sous-chaîne ici. Nous vérifions cela en utilisant la fonction « strstr() ».

Exemple 3 :

Nous initialisons ici deux variables de chaîne : « myNewStr » et « mySubStr ». Ensuite, nous attribuons des données de chaîne et déclarons deux variables entières : « posOfStr » et « indexOfStr ».

En dessous, nous utilisons la boucle « while() » et attribuons la variable de fonction « find() » à la variable « indexOfStr » à l'intérieur de cette boucle « while() ». Nous passons deux variables à cette fonction « find() » qui sont « mySubStr » et « posOfStr ». Ensuite, on place le mot clé « npos » qui vérifie que le résultat de la fonction « find » n'est pas égal à « npos ». Après cela, nous utilisons le « cout » qui incrémente la valeur de l'index de un et la stocke dans la variable « posOfStr ».

Code 3 :

#include
#include

en utilisant l'espace de noms std ;
int main ( ) {
chaîne maNouvelleStr = 'nous trouvons la chaîne ici' ;
chaîne maSubStr = 'chaîne' ;
int posOfStr = 0 ;
int indexOfStr;
alors que ( ( indexOfStr = maNouvelleStr.find ( maSubStr, posOfStr ) ) ! = chaîne ::npos ) {
cout << ' La sous-chaîne est ' << ''' << maSubStr << ''' << ' Trouvé au numéro d'index : ' << indexDeStr << fin;
posOfStr = indexOfStr + 1 ;
}
retour 0 ;
}

Sortir:

Ici, cela montre que la chaîne donnée contient la sous-chaîne et que le numéro d'index de cette chaîne est « 19 » qui est également affiché dans ce résultat.

Exemple 4 :

Dans ce code, nous incluons le fichier d'en-tête « bits/stdc++.h ». Désormais, nous n'avons plus besoin d'inclure d'autres fichiers d'en-tête car ils contiennent toutes les bibliothèques requises. Après avoir invoqué le « main() », nous initialisons les variables « org_str » et « sub_str » du type de données « string ». Ensuite, nous ajoutons la condition « if » dans laquelle nous utilisons la fonction « strstr() ». Cette fonction recherche si la chaîne donnée contient la sous-chaîne souhaitée. Ensuite, nous ajoutons une instruction « cout » pour indiquer que la sous-chaîne se trouve ici. Ensuite, nous mettons également la partie « else » qui est exécutée uniquement lorsque la condition « if » n'est pas satisfaite ou que la sous-chaîne n'est pas trouvée dans la chaîne.

Après cela, nous déclarons la variable « sub_str2 » et attribuons ici une chaîne de données. La condition « if » est alors insérée et la fonction « strstr() » est utilisée. Cette méthode recherche si la chaîne fournie contient ou non la sous-chaîne demandée. Le résultat est ensuite imprimé ici à l'aide de la commande 'cout'. Nous incluons également une section « else » qui n'est exécutée que si la condition « if » n'est pas remplie ou si la sous-chaîne ne peut pas être localisée dans la chaîne.

Code 4 :

#include
en utilisant l'espace de noms std ;
int main ( ) {
chaîne org_str = 'Langage de programmation C++' ;
chaîne sub_str = 'Programme' ;
si ( strstr ( org_str.c_str ( ) ,sub_str.c_str ( ) ) )
{
cout << 'La sous-chaîne ici est' << ''' << sub_str << ''' << ' est présent dans ' << org_str << fin;
}
autre {
cout << 'La sous-chaîne n'est pas présente dans la chaîne.' << fin;
}
chaîne sub_str2 = 'Java' ;

si ( strstr ( org_str.c_str ( ) ,sub_str2.c_str ( ) ) )
{
cout << 'La sous-chaîne ici est' << ''' << sub_str2 << ''' << ' est présent dans ' << org_str << fin;
}
autre {
cout << 'La sous-chaîne n'est pas présente dans cette chaîne.' << fin;
}
retour 0 ;
}

Sortir:

Le résultat de la première fonction « strstr() » montre que la chaîne contient la sous-chaîne, mais le résultat de la deuxième fonction « strstr() » montre que la sous-chaîne n'est pas présente dans la chaîne.

Conclusion

Le concept de « chaîne contient la sous-chaîne » est examiné en profondeur dans ce guide. Nous avons exploré deux méthodes permettant de rechercher si la « chaîne contient la sous-chaîne ». Nous avons expliqué les fonctions « find() » ainsi que « strstr() » que C++ fournit ici dans ce guide pour effectuer cette tâche. Nous le démontrons avec des exemples uniques dans lesquels nous avons appris à utiliser ces fonctions pour vérifier si la « chaîne contient la sous-chaîne ».