21xrx.com
2024-11-05 14:51:51 Tuesday
登录
文章检索 我的文章 写文章
C++如何判断字符串是否包含另一个字符串?
2023-07-04 22:01:07 深夜i     --     --
C++ 判断 字符串 包含

在程序设计中,经常需要判断一个字符串是否包含另一个字符串,比如在搜索或筛选数据时。在C++编程中,有多种方法可以实现这个功能。

方法一:使用string类中的find()函数

string类中的find()函数可以返回一个字符串在另一个字符串中出现的位置,如果该字符串未出现,则返回string::npos。

例如,判断字符串str1是否包含子字符串str2,可以实现如下代码:


string str1 = "hello world";

string str2 = "world";

if(str1.find(str2) != string::npos)

  cout<<"str1 contains str2"<<endl;

else

  cout<<"str1 does not contain str2"<<endl;

方法二:使用strstr()函数

另一种判断字符串是否包含另一个字符串的方法是使用C语言标准库函数——strstr()。

strstr()函数在一个字符串中查找另一个字符串,并返回第一个匹配的子字符串的地址。如果未找到匹配的字符串,则返回NULL。

例如,判断字符串str1是否包含子字符串str2,可以实现如下代码:


char* str1 = "hello world";

char* str2 = "world";

if(strstr(str1, str2) != NULL)

  cout<<"str1 contains str2"<<endl;

else

  cout<<"str1 does not contain str2"<<endl;

方法三:使用正则表达式

正则表达式可以用于匹配、替换、搜索等操作。在C++中,可以使用regex类来处理正则表达式。

如果要判断字符串str1是否包含子字符串str2,可以实现如下代码:


#include <regex>

string str1 = "hello world";

string str2 = "world";

regex pattern(str2);  //构建正则表达式

if(regex_search(str1, pattern))

  cout<<"str1 contains str2"<<endl;

else

  cout<<"str1 does not contain str2"<<endl;

以上是C++中判断字符串是否包含另一个字符串的三种方法,读者可以根据实际需求选择不同的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复