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()函数类似。
来源:CSDN
作者:尔灵尔亿
链接:https://blog.csdn.net/qq_40630246/article/details/103653140