C++ string rfind怎樣快速查找

c++
小樊
86
2024-07-19 03:17:37

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)判斷是否找到了子字符串。

0