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

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

std::string::rfind

在C++中,std::string::rfind是一个成员函数,用于在字符串中查找指定子字符串的最后一个出现位置,并返回该位置的索引。该函数是std::string库中的一个常用函数。

语法
size_t rfind(const std::string& str, size_t pos = npos) const;
size_t rfind(const char* s, size_t pos = npos) const;
size_t rfind(const char* s, size_t pos, size_t n) const;
  • 第一个版本:在字符串中查找str的最后一个出现位置,从索引pos开始查找。
  • 第二个版本:在字符串中查找字符串s的最后一个出现位置,从索引pos开始查找。
  • 第三个版本:在字符串中查找长度为n的字符串s的最后一个出现位置,从索引pos开始查找。
返回值

如果找到了子字符串,则该函数返回最后一个出现位置的索引。如果未找到子字符串,则返回std::string::npos

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

int main()
{
    std::string str = "Hello, World!";

    // 找到子字符串 "lo" 的最后一个出现位置
    std::size_t pos1 = str.rfind("lo");
    std::cout << "pos1 = " << pos1 << std::endl;

    // 从位置 5 开始查找子字符串 "lo" 的最后一个出现位置
    std::size_t pos2 = str.rfind("lo", 5);
    std::cout << "pos2 = " << pos2 << std::endl;

    // 查找字符 "W" 的最后一个出现位置
    std::size_t pos3 = str.rfind('W');
    std::cout << "pos3 = " << pos3 << std::endl;

    return 0;
}

输出:

pos1 = 3
pos2 = 3
pos3 = 7

在上面的示例中,我们定义了一个字符串str,然后使用rfind函数查找子字符串和字符的最后一个出现位置,并将结果打印到控制台上。

注意,pos参数是可选的。如果不指定该参数,则默认从字符串的末尾开始查找。如果找到了子字符串,则返回最后一个出现位置的索引。否则,返回std::string::npos