C++-streng inneholder en understreng

C Streng Inneholder En Understreng



I C++ har vi strengdatatypen og kan bruke de forskjellige funksjonene for å gjøre de forskjellige oppgavene med strengene. Vi kan sjekke om delstrengen er tilstede inne i den opprinnelige strengen. Vi kan også si at 'strengen inneholder delstrengen'. I denne veiledningen vil vi lære teknikkene som hjelper oss med å finne 'strengen inneholder understrengen'. Funksjonene 'finn()' og 'strstr()' hjelper oss med å gjøre denne oppgaven i C++-programmering.

Eksempel 1:

'iostream' og 'streng' er overskriftsfilene som er inkludert her, da vi må jobbe med strengene og også må legge inn eller skrive ut dataene. Så vi må inkludere disse overskriftsfilene her. Etter dette inkluderer vi 'navneområdet std' ved hjelp av nøkkelordet 'bruker'. Så vi trenger ikke å sette denne 'std' med alle funksjoner separat i koden vår. Deretter blir 'main()'-funksjonen påkalt her.







Nå erklærer vi 'str_1'-strengen og tildeler noen strengdata til denne variabelen. Deretter initialiserer vi også en annen variabel kalt 'str_2' av 'streng'-datatypen og tildeler 'like' til denne 'str_2'-variabelen. Under dette bruker vi nøkkelordet 'bool' for å gi sanne eller usanne resultater. Vi initialiserer 'stringHasStr' med denne 'bool'-datatypen og bruker 'finn()'-funksjonen. Dette søker etter 'strengen inneholder understrengen'. 'str_1' er den komplette strengen og 'str_2' er understrengen.



Her legger vi også til nøkkelordet 'npos' som brukes for å vise at det ikke er noen treff i denne strengen. Den sjekker om strengen inneholder en understreng og lagrer resultatet i denne 'stringHasStr' bool-variabelen.



Deretter går vi videre mot 'if'-betingelsen og sender denne 'stringHasStr'-variabelen til denne 'if'-tilstanden. Hvis resultatet som er lagret i denne bool-variabelen er 'true', brukes setningen etter denne 'if'-betingelsen der vi bruker 'cout' og viser strengen som finnes her. Men hvis det 'falske' resultatet er lagret i denne bool-variabelen, brukes den andre delen og viser at strengen ikke finnes her.





Kode 1:

#include
#inkluder

bruker navneområde std;
int main ( )
{
streng str_1 = 'Jeg liker C++ programmeringsspråk' ;
streng str_2 = 'som' ;
bool stringHasStr = str_1.finn ( str_2 ) ! = string::npos;
hvis ( stringHasStr ) {
cout << 'Vi finner strengen her som er' << str_2 << endl;
}
ellers {
cout << 'Strengen ikke funnet' << endl;
}
komme tilbake 0 ;
}



Produksjon:

Denne gitte utdata gjengir at strengen inneholder delstrengen og viser den her. Vi sjekker dette ved å bruke 'finn()'-funksjonen.

Eksempel 2:

Vi inkluderer tre overskriftsfiler her som er 'iostream', 'string' og 'cstring'. Deretter påkaller du 'main()' etter å ha plassert 'navneområdet std'. 'new_str'-strengen er nå erklært og noen strengdata er tildelt.

Deretter initialiserer vi en andre variabel av 'streng'-datatypen kalt 'sub_str' og gir den 'veldig' -verdien. Deretter plasserer vi 'const char*'. Så det er umulig å endre pekerens verdi til å peke til det andre stedet i minnet. Vi erklærer «FindingStr»-variabelen som denne «const char*»-pekeren her. Vi initialiserer den med 'strstr()'-metoden og sender begge strengene sammen med 'c_str()'-funksjonen som forvandler en streng til en tegnmatrise som ender med en nullverdi. Denne 'strstr()'-metoden hjelper til med å sjekke om 'new_str'-strengen inneholder 'sub_str'-delstrengen eller ikke. Deretter har vi 'hvis' der vi legger til 'FindingStr'. Hvis den finner understrengen i originalen, blir setningen etter 'if' utført der vi bruker 'cout'. Hvis delstrengen ikke blir funnet, beveger den seg direkte mot 'else'-delen og skriver ut resultatet som er plassert etter 'else'-delen.

Kode 2:

#include
#inkluder
#include

bruker navneområde std;
int main ( )
{
streng new_str = 'Det regner ute og været er veldig hyggelig.' ;
streng sub_str = 'veldig' ;
const røye * FindingStr = strstr ( new_str.c_str ( ) , sub_str.c_str ( ) ) ;
hvis ( FindingStr ) {
cout << 'Vi finner strengen og strengen er:' << sub_str << endl;
}
ellers {
cout << 'Strengen ikke funnet' << endl;
}
komme tilbake 0 ;
}

Produksjon:

Vi kan legge merke til at den gitte strengen inneholder delstrengen ettersom den viser setningen som vi la til etter 'if' og skriver ut delstrengen her. Vi sjekker dette ved å bruke 'strstr()'-funksjonen.

Eksempel 3:

Vi initialiserer to strengvariabler her: 'myNewStr' og 'mySubStr'. Deretter tildeler vi noen strengdata og erklærer to heltallsvariabler: 'posOfStr' og 'indexOfStr'.

Under dette bruker vi «while()»-løkken og tilordner «find()»-funksjonsvariabelen til «indexOfStr»-variabelen inne i denne «while()»-løkken. Vi sender to variabler til denne 'finn()'-funksjonen som er 'mySubStr' og 'posOfStr'. Deretter plasserer vi nøkkelordet 'npos' som sjekker at resultatet av 'finn'-funksjonen ikke er lik 'npos'. Etter dette bruker vi 'cout' som øker indeksverdien med én og lagrer den i 'posOfStr'-variabelen.

Kode 3:

#include
#inkluder

bruker navneområde std;
int main ( ) {
streng myNewStr = 'vi finner strengen her' ;
streng mySubStr = 'streng' ;
int posOfStr = 0 ;
int indexOfStr;
samtidig som ( ( indexOfStr = myNewStr.find ( mySubStr, posOfStr ) ) ! = streng::npos ) {
cout << 'Delstrengen er' << ''' << mySubStr << ''' << ' Funnet på indeksnummer : ' << indexOfStr << endl;
posOfStr = indexOfStr + 1 ;
}
komme tilbake 0 ;
}

Produksjon:

Her viser den at den gitte strengen inneholder delstrengen og indeksnummeret til denne strengen er '19', som også vises i dette resultatet.

Eksempel 4:

I denne koden inkluderer vi 'bits/stdc++.h' overskriftsfilen. Nå trenger vi ikke å inkludere andre overskriftsfiler, da de inneholder alle nødvendige biblioteker. Etter å ha påkalt 'main()', initialiserer vi variablene 'org_str' og 'sub_str' av datatypen 'streng'. Deretter legger vi til 'hvis'-tilstanden der vi bruker 'strstr()'-funksjonen. Denne funksjonen søker for å se om den gitte strengen inneholder den ønskede understrengen. Deretter legger vi til en 'cout'-setning for å skrive ut at delstrengen finnes her. Deretter legger vi også 'else'-delen som kjøres bare når 'hvis'-betingelsen ikke er oppfylt eller understrengen ikke finnes i strengen.

Etter dette erklærer vi 'sub_str2'-variabelen og tildeler en strengdata her. 'Hvis'-betingelsen settes deretter inn, og 'strstr()'-funksjonen brukes. Denne metoden søker om den oppgitte strengen inneholder den forespurte understrengen. Resultatet skrives deretter ut her ved hjelp av «cout»-kommandoen. Vi inkluderer også en «annet»-del som bare kjøres hvis «hvis»-betingelsen ikke er oppfylt eller hvis delstrengen ikke kan finnes i strengen.

Kode 4:

#include
bruker navneområde std;
int main ( ) {
streng org_str = 'C++ programmeringsspråk' ;
streng sub_str = 'Program' ;
hvis ( strstr ( org_str.c_str ( ) ,sub_str.c_str ( ) ) )
{
cout << 'Delstrengen her er' << ''' << sub_str << ''' << 'er til stede i' << org_str << endl;
}
ellers {
cout << 'Delstreng er ikke til stede i strengen.' << endl;
}
streng sub_str2 = 'Java' ;

hvis ( strstr ( org_str.c_str ( ) ,sub_str2.c_str ( ) ) )
{
cout << 'Delstrengen her er' << ''' << sub_str2 << ''' << 'er til stede i' << org_str << endl;
}
ellers {
cout << 'Understreng er ikke til stede i denne strengen.' << endl;
}
komme tilbake 0 ;
}

Produksjon:

Resultatet til den første 'strstr()'-funksjonen viser at strengen inneholder delstrengen, men den andre 'strstr()'-funksjonens resultat viser at understrengen ikke er til stede i strengen.

Konklusjon

Konseptet 'streng inneholder understrengen' er grundig undersøkt i denne veiledningen. Vi utforsket to metoder som hjelper til med å søke om 'strengen inneholder understrengen'. Vi forklarte 'finn()' så vel som 'strstr()'-funksjonene som C++ gir her i denne veiledningen for å utføre denne oppgaven. Vi demonstrerer med unike eksempler der vi lærte hvordan vi kan bruke disse funksjonene for å sjekke om 'strengen inneholder delstrengen' i den.