📜  C++ string.rfind()函数(1)

📅  最后修改于: 2023-12-03 14:39:53.270000             🧑  作者: Mango

C++ string.rfind()函数介绍

简介

C++中的string类提供了rfind()函数,该函数用于返回字符串在另一个字符串中最后一次出现的位置。rfind()函数的执行方式与find()函数相同,但返回的是最后一个匹配的子字符串位置而不是第一个。

函数原型
size_t rfind(const string& str, size_t pos = npos) const noexcept;
size_t rfind(const char* s, size_t pos = npos) const;
size_t rfind(const char* s, size_t pos, size_t n) const;
size_t rfind(char c, size_t pos = npos) const noexcept;

参数说明:

  • str: 要在调用string对象查找的另一个string对象。
  • s: 要在调用string对象查找的字符串。
  • n: 在指定长度的字符串中查找。
  • pos: 开始查找的位置,默认值为字符串的结尾。
返回值

rfind()函数返回匹配子字符串的位置,如果未找到则返回npos。

使用示例
#include <iostream>
#include <string>

int main()
{
    std::string mystring = "hello world";

    std::cout << mystring.rfind("o") << std::endl;  // 输出: 7
    std::cout << mystring.rfind("o", 6) << std::endl;  // 输出: 4
    std::cout << mystring.rfind("k") << std::endl;  // 输出: std::string::npos, 表示未找到

    return 0;
}
注意事项
  • 如果要查找的字符串为空,则rfind()函数会返回npos。
  • 如果开始查找的位置小于0,则rfind()函数会从字符串的结尾开始查找。
  • 当查找到子字符串时,rfind()函数返回子字符串的最后一个字符的位置。
  • rfind()函数是区分大小写的,如果要进行大小写不敏感的查找,则需要自己实现。(可以将所有字符转换为小写或大写再进行查找)。

以上是C++ string.rfind()函数的简要介绍,希望本文对您有所帮助。