📅  最后修改于: 2023-12-03 15:08:00.599000             🧑  作者: Mango
在C++中,如果我们需要查找一个字符串中最后出现的字符,可以使用std::string
的find_last_of
方法。这个方法会返回最后一个和参数匹配的字符的位置,如果找不到,返回std::string::npos
。
下面是一个示例:
#include <string>
#include <iostream>
int main()
{
std::string str = "hello world";
char c = 'o';
size_t last_pos = str.find_last_of(c);
if (last_pos != std::string::npos)
std::cout << "Last position of " << c << " is " << last_pos << std::endl;
else
std::cout << "Did not find " << c << std::endl;
return 0;
}
输出结果为:
Last position of o is 7
通过上面的代码,我们成功找到了字符串中最后一个字符o
的位置。
需要注意的是,std::string
的find_last_of
方法不仅适用于单个字符的查找,还适用于多个字符的查找。例如:如果要查找最后一个出现的l
或者r
,可以这样写:
size_t last_pos_l = str.find_last_of("lr");
在这个例子中,find_last_of
方法会在字符串中查找最后一个出现的字符是l
或者r
的字符,如果找到,返回该字符的位置,否则返回std::string::npos
。
总之,通过std::string
的find_last_of
方法,我们可以轻松地查找字符串中最后出现的字符。