查詢字串中的字元

要查詢字元或其他字串,可以使用 std::string::find 。它返回第一個匹配的第一個字元的位置。如果未找到匹配項,則函式返回 std::string::npos

std::string str = "Curiosity killed the cat";
auto it = str.find("cat");

if (it != std::string::npos)
    std::cout << "Found at position: " << it << '\n';
else
    std::cout << "Not found!\n";

找到位置:21

搜尋機會通過以下功能進一步擴充套件:

find_first_of     // Find first occurrence of characters 
find_first_not_of // Find first absence of characters 
find_last_of      // Find last occurrence of characters 
find_last_not_of  // Find last absence of characters 

這些函式允許你從字串的末尾搜尋字元,以及查詢否定的大小寫(即不在字串中的字元)。這是一個例子:

std::string str = "dog dog cat cat";
std::cout << "Found at position: " << str.find_last_of("gzx") << '\n';

找到位置:6

注意: 請注意,上述函式不會搜尋子字串,而是搜尋搜尋字串中包含的字元。在這種情況下,'g'的最後一次出現位於 6(未找到其他字元)。