Ang C++ String ay Naglalaman ng Substring

Ang C String Ay Naglalaman Ng Substring



Sa C++, mayroon kaming uri ng data ng string at maaaring ilapat ang iba't ibang mga function upang gawin ang iba't ibang mga gawain gamit ang mga string. Maaari naming suriin kung ang substring ay naroroon sa loob ng orihinal na string. Maaari din nating sabihin na ang 'string ay naglalaman ng substring'. Sa gabay na ito, matututunan natin ang mga diskarteng makakatulong sa atin sa paghahanap ng 'string na naglalaman ng substring'. Ang mga function na 'find()' at 'strstr()' ay tumutulong sa amin sa paggawa ng gawaing ito sa C++ programming.

Halimbawa 1:

Ang 'iostream' at 'string' ay ang mga file ng header na kasama rito dahil kailangan nating magtrabaho kasama ang mga string at kailangan ding mag-input o mag-output ng data. Kaya, dapat nating isama ang mga header file na ito dito. Pagkatapos nito, isinama namin ang 'namespace std' sa tulong ng 'paggamit' na keyword. Kaya, hindi namin kailangang ilagay ang 'std' na ito sa lahat ng mga function nang hiwalay sa aming code. Pagkatapos, ang function na 'main()' ay hinihimok dito.







Ngayon, ipinapahayag namin ang string na 'str_1' at nagtatalaga ng ilang data ng string sa variable na ito. Pagkatapos, sinisimulan din namin ang isa pang variable na pinangalanang 'str_2' ng 'string' na uri ng data at magtalaga ng 'like' sa variable na 'str_2' na ito. Sa ibaba nito, ginagamit namin ang keyword na 'bool' upang magbigay ng tama o maling mga resulta. Sinisimulan namin ang 'stringHasStr' gamit ang 'bool' na uri ng data na ito at ginagamit ang function na 'find()'. Hinahanap nito ang 'string ay naglalaman ng substring'. Ang 'str_1' ay ang kumpletong string at ang 'str_2' ay ang substring.



Dito, idinaragdag din namin ang keyword na 'npos' na ginagamit upang ipakita na walang mga tugma sa string na ito. Sinusuri nito kung ang string ay naglalaman ng isang substring at iniimbak ang resulta sa 'stringHasStr' bool variable na ito.



Pagkatapos, sumulong kami patungo sa kundisyon na 'kung' at ipasa ang variable na 'stringHasStr' na ito sa kundisyong 'kung' na ito. Kung ang resulta na nakaimbak sa bool variable na ito ay 'totoo', ang pahayag pagkatapos nitong 'kung' kundisyon ay ginagamit kung saan ginagamit namin ang 'cout' at ipinapakita ang string na matatagpuan dito. Ngunit kung ang 'false' na resulta ay naka-imbak sa bool variable na ito, ang ibang bahagi ay ginagamit at ipinapakita na ang string ay hindi matatagpuan dito.





Code 1:

#include
#include

gamit ang namespace std;
int pangunahing ( )
{
string str_1 = 'Gusto ko ang C++ programming language' ;
string str_2 = 'gaya ng' ;
bool stringHasStr = str_1.find ( str_2 ) ! = string::npos;
kung ( stringHasStr ) {
cout << 'Nahanap namin ang string dito na ' << str_2 << endl;
}
iba pa {
cout << 'Hindi nahanap ang String' << endl;
}
bumalik 0 ;
}



Output:

Ang ibinigay na output na ito ay nagpapakita na ang string ay naglalaman ng substring at ipinapakita ito dito. Sinusuri namin ito sa pamamagitan ng paggamit ng function na 'find()'.

Halimbawa 2:

Nagsasama kami ng tatlong header file dito na 'iostream', 'string', at 'cstring'. Pagkatapos, i-invoke ang 'main()' pagkatapos ilagay ang 'namespace std'. Ang 'new_str' string ay idineklara na ngayon at ang ilang string data ay itinalaga.

Susunod, sinisimulan namin ang pangalawang variable ng 'string' na uri ng data na tinatawag na 'sub_str' at binibigyan ito ng 'very' na halaga. Pagkatapos, inilalagay namin ang 'const char*'. Kaya, ang pagbabago ng halaga ng pointer upang tumuro sa ibang lokasyon sa memorya ay imposible. Idineklara namin ang variable na 'FindingStr' bilang pointer na 'const char*' dito. Sinisimulan namin ito gamit ang 'strstr()' na paraan at ipinapasa ang parehong mga string kasama ang 'c_str()' function na nagpapalit ng string sa isang character array na nagtatapos sa isang null na halaga. Ang pamamaraang 'strstr()' na ito ay tumutulong sa pagsuri kung ang 'new_str' string ay naglalaman ng 'sub_str' na substring o hindi. Pagkatapos, mayroon kaming 'kung' kung saan idinagdag namin ang 'FindingStr'. Kung nahanap nito ang substring sa orihinal, ang pahayag pagkatapos ng 'kung' ay isasagawa kung saan ginagamit namin ang 'cout'. Kung hindi matagpuan ang substring, direktang lilipat ito patungo sa 'iba' na bahagi at ipi-print ang resulta na inilalagay pagkatapos ng 'iba' na bahagi.

Code 2:

#include
#include
#include

gamit ang namespace std;
int pangunahing ( )
{
string new_str = 'Umuulan sa labas at napakaganda ng panahon.' ;
string sub_str = 'napaka' ;
const char * FindingStr = strstr ( new_str.c_str ( ) , sub_str.c_str ( ) ) ;
kung ( FindingStr ) {
cout << 'Nahanap namin ang String at ang string ay: ' << sub_str << endl;
}
iba pa {
cout << 'Hindi nahanap ang string' << endl;
}
bumalik 0 ;
}

Output:

Maaari naming mapansin na ang ibinigay na string ay naglalaman ng substring dahil ipinapakita nito ang pahayag na idinagdag namin pagkatapos ng 'kung' at ini-print ang substring dito. Sinusuri namin ito sa pamamagitan ng paggamit ng function na 'strstr()'.

Halimbawa 3:

Sinisimulan namin ang dalawang string variable dito: 'myNewStr' at 'mySubStr'. Pagkatapos, nagtatalaga kami ng ilang string data at nagdedeklara ng dalawang integer variable: 'posOfStr' at 'indexOfStr'.

Sa ibaba nito, ginagamit namin ang loop na 'while()' at itinatalaga ang variable na function na 'find()' sa variable na 'indexOfStr' sa loob nitong loop na 'while()'. Nagpapasa kami ng dalawang variable sa function na 'find()' na 'mySubStr' at 'posOfStr'. Pagkatapos, inilalagay namin ang keyword na 'npos' na nagsusuri na ang resulta ng function na 'hanapin' ay hindi katumbas ng 'npos'. Pagkatapos nito, ginagamit namin ang 'cout' na nagdaragdag sa halaga ng index ng isa at iniimbak ito sa variable na 'posOfStr'.

Code 3:

#include
#include

gamit ang namespace std;
int pangunahing ( ) {
string myNewStr = 'Nakahanap kami ng string dito' ;
string mySubStr = 'kuwerdas' ;
int posOfStr = 0 ;
int indexOfStr;
habang ( ( indexOfStr = myNewStr.find ( mySubStr, posOfStr ) ) ! = string::npos ) {
cout << 'Ang substring ay' << ''' << mySubStr << ''' << ' Natagpuan sa index number : ' << indexOfStr << endl;
posOfStr = indexOfStr + 1 ;
}
bumalik 0 ;
}

Output:

Dito, ipinapakita nito na ang ibinigay na string ay naglalaman ng substring at ang index number ng string na ito ay '19' na ipinapakita din sa kinalabasan na ito.

Halimbawa 4:

Sa code na ito, isinama namin ang 'bits/stdc++.h' header file. Ngayon, hindi namin kailangang isama ang iba pang mga file ng header dahil naglalaman ang mga ito ng lahat ng kinakailangang library. Pagkatapos gamitin ang 'main()', sinisimulan namin ang 'org_str' at 'sub_str' na mga variable ng 'string' na uri ng data. Pagkatapos, idinaragdag namin ang kundisyong 'kung' kung saan ginagamit namin ang function na 'strstr()'. Ang function na ito ay naghahanap upang makita kung ang ibinigay na string ay naglalaman ng nais na substring. Pagkatapos, nagdaragdag kami ng 'cout' na pahayag upang i-print na ang substring ay matatagpuan dito. Pagkatapos, inilalagay din namin ang 'iba' na bahagi na isinasagawa lamang kapag ang 'kung' kondisyon ay hindi nasiyahan o ang substring ay hindi natagpuan sa string.

Pagkatapos nito, ipinapahayag namin ang variable na 'sub_str2' at nagtatalaga ng string data dito. Ang 'if' na kundisyon ay ipinasok, at ang 'strstr()' function ay ginagamit. Ang pamamaraang ito ay naghahanap kung ang ibinigay na string ay naglalaman ng hiniling na substring. Ang resulta ay ipi-print dito gamit ang command na 'cout'. Nagsasama rin kami ng seksyong “iba” na tatakbo lang kung hindi natutugunan ang kundisyon na “kung” o kung hindi matatagpuan ang substring sa string.

Code 4:

#include
gamit ang namespace std;
int pangunahing ( ) {
string org_str = 'C++ Programming Language' ;
string sub_str = 'Programa' ;
kung ( strstr ( org_str.c_str ( ) ,sub_str.c_str ( ) ) )
{
cout << 'Ang Substring dito ay ' << ''' << sub_str << ''' << 'ay naroroon sa' << org_str << endl;
}
iba pa {
cout << 'Walang substring sa string.' << endl;
}
string sub_str2 = 'Java' ;

kung ( strstr ( org_str.c_str ( ) ,sub_str2.c_str ( ) ) )
{
cout << 'Ang Substring dito ay ' << ''' << sub_str2 << ''' << 'ay naroroon sa' << org_str << endl;
}
iba pa {
cout << 'Wala ang substring sa string na ito.' << endl;
}
bumalik 0 ;
}

Output:

Ipinapakita ng resulta ng unang function na 'strstr()' na ang string ay naglalaman ng substring, ngunit ang resulta ng pangalawang function na 'strstr()' ay nagpapakita na ang substring ay wala sa string.

Konklusyon

Ang konsepto ng 'string ay naglalaman ng substring' ay masusing sinusuri sa gabay na ito. Nag-explore kami ng dalawang paraan na nakakatulong sa paghahanap kung ang 'string ay naglalaman ng substring'. Ipinaliwanag namin ang 'find()' pati na rin ang 'strstr()' function na ibinibigay ng C++ dito sa gabay na ito para sa paggawa ng gawaing ito. Nagpapakita kami ng mga natatanging halimbawa kung saan natutunan namin kung paano gamitin ang mga function na ito upang suriin kung ang 'string ay naglalaman ng substring' dito.