#include <iostream>
using namespace std;
int main()
{
string name("Anne Richard");
auto pos1 = name.find("Anne");
cout << (pos1 == string::npos) << endl;
cout << (pos1 == 0) << endl;
cout << name.find_first_of("Richard") << endl;
cout << name.find_last_not_of("d") << endl;
cout << name.rfind("nn") << endl;
return 0;
}
输入如下:
0
1
5
10
1
本段测试代码测试了C++中string的find功能
- 找到"Anne Richard"中的字串"Anne"第一次出现的位置 (结果是0)
- 找不到时,返回的类型是string:npos
更复杂的方法
- 比如rfind是从右边开始找
- 比如find_first_of是找到参数中任何一个第一次出现的位置
- 比如find_last_of是找到参数中任何一个最后一次出现的位置
- 比如find_first_not_of是找到第一个不在参数里的字符的位置
- 比如find_last_not_of是找到最后一个不在参数里的字符的位置
Ref: C++ Primer 中文版(第五版)325页