查詢字串中的字元
要查詢字元或其他字串,可以使用 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
(未找到其他字元)。