C++(rfind())
rfind
是 C++ 标准库中字符串类(例如 std::string
)提供的成员函数之一。它用于在字符串中从后往前搜索指定子字符串,并返回找到的最后一个匹配的位置(索引)。如果未找到匹配,它返回 std::string::npos
,这是一个常量,表示没有找到匹配。
rfind
的原型如下:
size_t rfind(const std::string& str, size_t pos = npos) const noexcept;
这个函数接受两个参数:
str
:要搜索的子字符串。pos
:可选参数,指定开始搜索的位置。默认值是npos
,表示从字符串的末尾开始搜索。
使用示例:
#include <iostream>
#include <string>
int main() {
std::string text = "Hello, World! Hello, Universe!";
// 从字符串末尾开始查找 "Hello"
size_t foundPos = text.rfind("Hello");
if (foundPos != std::string::npos) {
std::cout << "Last occurrence of 'Hello' found at position: " << foundPos << std::endl;
} else {
std::cout << "'Hello' not found in the string." << std::endl;
}
return 0;
}
在上述示例中,rfind
函数用于查找字符串中最后一次出现子字符串 "Hello" 的位置。如果找到了,它会返回最后一次出现的位置;否则,返回 std::string::npos
。在实际应用中,rfind
可以用于从字符串中查找特定子字符串的最后一次出现位置。