find_first_not_of
Материал из cppreference.com
Синтаксис:
#include <string> size_type find_first_not_of( const string& str, size_type index = 0 ) const; size_type find_first_not_of( const char* str, size_type index = 0 ) const; size_type find_first_not_of( const char* str, size_type index, size_type num ) const; size_type find_first_not_of( char ch, size_type index = 0 ) const;
Функция find_first_not_of() выполняет действия:
- возвращает индекс первого символа внутри текущей строки, который не совпадает ни с одним символом строки str, начиная поиск с индекса index, и возвращает string::npos, если ничего не найдено,
- просматривает текущую строку, начиная с индекса index, в поисках символа, не совпадающего с первыми num символами строки str, возвращая индекс первого найденного символа текущей строки, удовлетворяющего критерию, иначе возвращает string::npos,
- возвращает индекс первого вхождения символа, не совпадающего с символом ch в текущей строке, начиная поиск с индекса index, и возвращает string::npos, если ничего не найдено.
Например, следующий код просматривает строку текста в поисках первого символа, не являющегося строчным символом, пробелом, запятой или дефисом:
string lower_case = "abcdefghijklmnopqrstuvwxyz ,-"; string str = "this is the lower-case part, AND THIS IS THE UPPER-CASE PART"; cout << "first non-lower-case letter in str at: " << str.find_first_not_of(lower_case) << endl;
Функция find_first_not_of() находит первый прописной символ в строке str, начиная с индекса 29, и выводит:
first non-lower-case letter in str at: 29
Смотрите также: find, find_first_not_of, find_first_of, find_last_not_of, find_last_of, rfind