📌  相关文章
📜  c++ 检查字符串是否包含子字符串 - C++ (1)

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

C++ 检查字符串是否包含子字符串

在C++中,我们可以使用find函数检查一个字符串是否包含另一个字符串。

使用方法
#include <iostream>
#include <string>

int main() {
    std::string str = "Hello World";
    std::string substr = "World";
    if(str.find(substr) != std::string::npos){
        std::cout << "substr found in str" << std::endl;
    }else{
        std::cout << "substr not found in str" << std::endl;
    }
    return 0;
}

在上面的例子中,我们使用了find函数检查str这个字符串中是否包含substr这个子字符串。如果find函数返回的不是std::string::npos,那么说明str中包含substr,否则说明str中不包含substr

返回值说明

find函数的返回值有两种情况:

  • 如果找到了子字符串,返回子字符串在原字符串中第一次出现的位置(从0开始),即返回子字符串的下标。
  • 如果没有找到子字符串,返回std::string::nposnpos是一个常量,表示找不到的情况。
注意事项
  • 如果要判断一个字符串是否以某个子字符串开头或结尾,可以使用substr函数来提取字符串的一部分,然后用==运算符进行比较。
  • 如果想匹配大小写,可以使用find函数的第三个参数:find(substr, pos, count),其中pos是搜索的起始位置,count是搜索的字符串长度。
  • 如果想从左边开始检查子字符串,可以使用find函数;如果想从右边开始检查子字符串,可以使用rfind函数。