c++ string的详细用法(10)find_first_of()与find_last_of()

心已入冬 提交于 2019-12-22 17:05:00
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()函数类似。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!