basic_string::find_last_not_of

size_type find_last_not_of(E c, size_type pos = npos) const;
size_type find_last_not_of(const E *s, size_type pos = npos) const;
size_type find_last_not_of(const E *s, size_type pos,  size_type n) const;
size_type find_last_not_of(const basic_string& str,
    size_type pos = npos) const;

Each member function finds the last (highest position) element of the controlled sequence, at or before position pos, that matches none of the elements in the operand sequence specified by the remaining operands. If it succeeds, it returns the position. Otherwise, the function returns npos.