溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

C++中如何使用string.find()函數(shù)

發(fā)布時(shí)間:2021-07-28 14:28:58 來(lái)源:億速云 閱讀:178 作者:Leah 欄目:數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)C++中如何使用string.find()函數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

#include <string>#include <iostream>using namespace std; void main(){復(fù)制代碼 代碼如下: ////find函數(shù)返回類(lèi)型 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");string flag;string::size_type position;//find 函數(shù) 返回jk 在s 中的下標(biāo)位置 position = s.find("jk");if (position != s.npos) //如果沒(méi)找到,返回一個(gè)特別的標(biāo)志c++中用npos表示,我這里npos取值是4294967295,{cout << "position is : " << position << endl;}else{cout << "Not found the flag" + flag;}復(fù)制代碼 代碼如下: //find 函數(shù) 返回flag 中任意字符 在s 中第一次出現(xiàn)的下標(biāo)位置flag = "c";position = s.find_first_of(flag);cout << "s.find_first_of(flag) is : " << position << endl;復(fù)制代碼 代碼如下: //從字符串s 下標(biāo)5開(kāi)始,查找字符串b ,返回b 在s 中的下標(biāo)position=s.find("b",5);cout<<"s.find(b,5) is : "<<position<<endl;復(fù)制代碼 代碼如下: //查找s 中flag 出現(xiàn)的所有位置。flag="a";position=0;int i=1;while((position=s.find_first_of(flag,position))!=string::npos){ //position=s.find_first_of(flag,position); cout<<"position "<<i<<" : "<<position<<endl; position++; i++;}復(fù)制代碼 代碼如下: //查找flag 中與s 第一個(gè)不匹配的位置flag="acb12389efgxyz789";position=flag.find_first_not_of (s);cout<<"flag.find_first_not_of (s) :"<<position<<endl;復(fù)制代碼 代碼如下: //反向查找,flag 在s 中最后出現(xiàn)的位置flag="3";position=s.rfind (flag);cout<<"s.rfind (flag) :"<<position<<endl;}

說(shuō)明:1.如果string sub = ”abc“;string s = ”cdeabcigld“;s.find(sub) , s.rfind(sub) 這兩個(gè)函數(shù),如果完全匹配,才返回匹配的索引,即:當(dāng)s中含有abc三個(gè)連續(xù)的字母時(shí),才返回當(dāng)前索引。s.find_first_of(sub), s.find_first_not_of(sub), s.find_last_of(sub), s.find_last_not_of(sub) 這四個(gè)函數(shù),查找s中含有sub中任意字母的索引。

2.如果沒(méi)有查詢(xún)到,則返回string::npos,這是一個(gè)很大的數(shù),其值不需要知道。

關(guān)于C++中如何使用string.find()函數(shù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI