在C类Java lastIndexOf ++(Java-like lastIndexOf in c+

2019-10-17 21:26发布

我进行升压和C一些研究++,但无法找到相关的我的问题什么。 是否有实现的Boost库或STL功能lastIndexOf ?

Answer 1:

std::string具有成员函数rfind()其从端部检索,如果找到或返回的索引std::string::npos如果不是。 从链接参考页:

找到最后一个子等于给定的字符序列。



Answer 2:

看起来你可能想std::string::find_last_of

找到最后一个字符等于在给定的字符序列的人物之一。 如果没有这样的字符被找到,返回找到的字符或非营利组织的位置。

编辑:

另见hmjd的答案。 有差异find_last_ofrfind取决于你是否正在寻找一个字符,许多可能的字符中的一个,或一个字符串。



Answer 3:

当然,你可以使用std::findreverse_iterator秒。 例如,你有INTS的载体,你想找到的最后5在里面。 你做

auto it = std::find(v.rbegin(), v.rend(), 5);

如果你想在指数本身,那么你可以从迭代器

int index = std::distance(v.begin(), (it+1).base());


文章来源: Java-like lastIndexOf in c++