📜  std :: 字符串:: rfind在C++中包含示例(1)

📅  最后修改于: 2023-12-03 15:35:09.362000             🧑  作者: Mango

std::string::rfind

简介

std::string::rfind 是 C++ STL 中的一个成员函数,用于查找字符串中最后一个匹配子字符串的位置。

函数签名如下:

size_t rfind (const string& str, size_t pos = npos) const noexcept;

其中,参数 str 是要查找的子字符串,参数 pos 是要开始查找的位置,其默认值为 npos,表示从字符串末尾开始往前查找。

函数返回值为一个 size_t 类型的整数,表示子字符串在原字符串中的位置,如果找不到则返回 string::npos(一个 static constsize_t 类型的变量,值为 -1)。

示例

下面是一个例子,展示如何使用 std::string::rfind

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "hello world";
    string sub_str = "world";
    size_t rfind_pos = str.rfind(sub_str); // 查找子字符串 "world" 在字符串 "hello world" 中的位置
    if (rfind_pos != string::npos) { // 如果找到了
        cout << "Found at position " << rfind_pos << endl;
    } else { // 如果没找到
        cout << "Not found" << endl;
    }
    return 0;
}

上面的代码中,先定义了一个字符串 str 和一个子字符串 sub_str。然后使用 std::string::rfind 函数查找子字符串在字符串中的位置,并根据返回值判断是否找到了子字符串。

注意事项
  • 如果 pos 大于或等于字符串大小,函数会返回 string::npos
  • 如果 str 的长度为 0,则函数返回字符串的长度(即 str 为空字符串时,返回字符串的最后一个位置)。
  • 如果 pos 的值小于 str 的长度,则只考虑 pos 之前的部分。
参考文献