C++中的string類(lèi)提供了rfind()方法用于在字符串中從后向前查找指定子字符串的位置??梢酝ㄟ^(guò)該方法來(lái)快速查找字符串中最后一次出現(xiàn)某個(gè)子字符串的位置。
例如,假設(shè)我們有一個(gè)字符串str,我們想要查找字符串中最后一次出現(xiàn)子字符串"abc"的位置,可以使用以下代碼:
#include <iostream>
#include <string>
int main() {
std::string str = "abcabcabc";
std::size_t found = str.rfind("abc");
if (found != std::string::npos) {
std::cout << "Last occurrence found at position: " << found << std::endl;
} else {
std::cout << "Substring not found" << std::endl;
}
return 0;
}
在上面的代碼中,rfind()方法返回最后一次出現(xiàn)子字符串"abc"的位置,并將其賦值給變量found。如果找到了子字符串,則輸出其位置;否則輸出"Substring not found"。
需要注意的是,如果未找到指定的子字符串,則rfind()方法會(huì)返回std::string::npos,因此我們可以使用這個(gè)值來(lái)判斷是否找到了子字符串。