关于c ++:如何判断字符串是否包含在另一个字符串中

how to tell if a string is contained in another string

本问题已经有最佳答案,请猛点这里访问。

C++代码。例子:X:"这是我的第一个节目";Y:"我的";

1
2
3
4
5
6
bool function(string x, string y)
{
//Return true if y is contained in x

return ???;
}


您可以使用std::string::find()

1
2
3
4
bool function(string x, string y)
{
    return (x.find(y) != std::string::npos);
}


可以使用string::find执行此操作


函数的写入方式取决于对空字符串的搜索是否成功。如果要考虑任何字符串中都存在空字符串,则函数将如下所示:

1
2
3
4
bool function( const std::string &x, const std::string string &y )
{
    return ( x.find( y ) != std::string::npos );
}

如果要考虑空字符串的搜索将返回false,则函数将看起来像

1
2
3
4
bool function( const std::string &x, const std::string string &y )
{
    return ( !y.empty() && x.find( y ) != std::string::npos );
}

对于空字符串,我希望函数返回false。