11-find_last_not_of()系列
F.5.6 find_last_not_of()系列
find_last_not_of()方法的原型如下:
size_type find_last_not_of (const basic_string& str,
size_type pos = npos) const noexcept;
size_type find_last_not_of (const charT* s, size_type pos,
size_type n) const;
size_type find_last_not_of (const charT* s,
size_type pos = npos) const;
size_type find_last_not_of (charT c, size_type pos = npos) const noexcept;
这些方法与对应find_last_of()方法的工作方式相似,但它们搜索的是最后一个没有在子字符串中出现的字符。
下面的代码在字符串中查找最后一个没有出现在“That.”中的字符:
string longer("That is a funny hat.");
string shorter("That.");
size_type loc1 = longer.find_last_not_of(shorter); // sets loc1 to 15
size_type loc2 = longer.find_last_not_of(shorter, 10); // sets loc2 to 10
在longer中,最后的空格是最后一个没有出现在shorter中的字符,而longer字符串中的f是搜索到位置10时,最后一个没有出现在shorter中的字符。