当前位置:首页 C++ > 正文

c++字符串string寻找子字符的位置find、rfind、find_first_of、find_last_of

作者:野牛程序员:2023-11-23 08:57:06 C++阅读 2796

findrfindfind_first_offind_last_of 是 C++ 字符串类 std::string 提供的成员函数,用于在字符串中查找子字符或子字符串的位置。以下是它们的简要说明:

  1. find

    size_t found = str.find(substring);
    • find 函数用于在字符串中查找第一次出现指定子字符串的位置。

    • 如果找到,则返回第一次出现的位置的索引;否则,返回 std::string::npos

  2. rfind

    size_t rfound = str.rfind(substring);
    • rfind 函数类似于 find,但它是从字符串的末尾开始查找第一次出现指定子字符串的位置。

    • 如果找到,则返回最后一次出现的位置的索引;否则,返回 std::string::npos

  3. find_first_of

    size_t found_first = str.find_first_of(characters);
    • find_first_of 函数用于查找字符串中第一次出现指定字符集合中任何一个字符的位置。

    • 如果找到,则返回第一次出现的位置的索引;否则,返回 std::string::npos

  4. find_last_of

    size_t found_last = str.find_last_of(characters);
    • find_last_of 函数类似于 find_first_of,但它是从字符串的末尾开始查找第一次出现指定字符集合中任何一个字符的位置。

    • 如果找到,则返回最后一次出现的位置的索引;否则,返回 std::string::npos

这些函数返回的位置索引是从零开始的。如果要检查子字符串是否存在,可以使用条件语句,例如:

if (found != std::string::npos) {
    // 子字符串存在,处理它的位置
} else {
    // 子字符串不存在
}

在上述代码中,substring 是要查找的子字符串,而 characters 是要查找的字符集合。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击