c ++ string iterator"find first of"

Joh*_*Coy 0 c++ string iterator

字符串迭代器中有一个方法,比如字符串上的find_first_of吗?就像是:

string::iterator it;
string str("  h asdasf ^& saafa");
it = FIND_FIRST_OF("&az^");
std::cout << *it << std::endl;
Run Code Online (Sandbox Code Playgroud)

结果如下:

一个

vso*_*tco 6

你可以间接地做

auto pos = str.find_first_of("&az^");
Run Code Online (Sandbox Code Playgroud)

然后推进迭代器

if(pos != std::string::npos) // thanks to @Mike Seymour
    std::advance(it, pos);
Run Code Online (Sandbox Code Playgroud)

我猜你也可以做一些std::findlambda,但上面的内容实际上要简单得多.