c++ string的詳細用法(10)find_first_of()與find_last_of()

string a="123456789abcdefgh";

1.在字符串中查找某一個字符
auto s=a.find_first_of('5');//結果爲 s=4;
auto s=a.find_first_of('5',5); //沒有查找到 s=string::npos;
//如果查找某一個字符,與find()函數類似

2.在字符串中查找子串
//此時與find()函數不同,find()函數是查找子串,
//而find_first_of()函數是查找字符串a中含有的任意子串的字符
auto s=a.find_first_of("8a"); //結果爲 s=7;
auto s=a.find_first_of("8a",1); //結果爲 s=7;
//在字符串a中查找最早出現的字符'8'或者'a';

auto s=a,find("8a"); //結果是找不到
auto s=a,find("8a",1); //結果是找不到
//find()函數查找子串必須是相連的,而find_first_of()不需要,只要字符串中含有子串的字就可以

/*重要
 *find_first_of()函數在字符串中查找子串中出現的任意字符,比如在字符串 "12abc"中查找子串"1k",1在字符串"12abc"中出現過,所以可以找到
 *find()函數在字符串"12abc"中查找"1k",則查找不到,它查找的必須是"1k"這兩個相連的字符
 */

3.find_first_of()find_last_of()的區別
find_first_of()是從前向後查找,而find_last_of()是從後向前查找。其他的用法與find_first_of()函數類似。

發佈了20 篇原創文章 · 獲贊 118 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章