string中find的使用(c++)
1.返回str在字符串中第一次出现的位置(从index开始查找,如果没找到则返回string::npos) |
---|
函数原型:size_type find( const basic_string &str, size_type index );
size_type find( const char *str, size_type index );
例:
(1)默认从0开始,找不到则返回string::npos
string str = "01234567456";
string str1 = "456";
if(str.find(str1) != string::npos){
cout << "字符串" << str1 << "在" << str <<"中的第一个起始位置在" << str.find(str1) << endl;
}
结果:
(2)rfind从末尾开始,找不到则返回string::npos
string str = "01234567456";
string str1 = "456";
if(str.rfind(str1) != string::npos){
cout << "字符串" << str1 << "在" << str <<"中最后一个起始位置在" << str.rfind(str1) << endl;
}
结果:
(3)从加上的索引index开始查找
string str = "01234567456";
string str1 = "456";
if(str.find(str1,5) != string::npos){
cout << "字符串" << str1 << "在" << str <<"中从5开始的第一个起始位置在" << str.find(str1,5) << endl;
}
结果:
2.返回字符ch在字符串中第一次出现的位置(从index开始查找,如果没找到就返回string::npos) |
---|
函数原型:size_type find( char ch, size_type index );
例:
(1)默认从0开始
string str = "0123456789";
char c = '3';
if(str.find(c) != string::npos){
cout << "字符" << c << "在" << str <<"中第一个起始位置在" << str.find(c) << endl;
}
结果:
(2)加索引index之后
string str = "0123453789";
char c = '3';
if(str.find(c,4) != string::npos){
cout << "字符" << c << "在" << str <<"中第一个起始位置在" << str.find(c,4) << endl;
}