C++ String查找技巧:两种方式判断字符串包含特定子串

创始人
2024-12-14 23:42:02
0 次浏览
0 评论

c++string怎样判断字符串里面是否含有某个字符串?

有两种使用方式,C++风格或C风格

1.

C++的string类提供了find函数来查找字符串中的另一个字符串。

重载形式为:

string::size_typestring::find(string&);

该函数是在string对象中查找参数string类型字符串是否存在,如果存在,则返回起始位置。
如果不存在,则返回string::npos。

参考代码如下:

#include#includeusingnamespacestd;intmain(){stringa="abcdefghigklmn";字符串b=“def”;字符串c=“123”;字符串::size_typeidx;idx=a.find(b);//在a中查找b。
if(idx==string::npos)//不存在。
COUT<<"未找到\N";COUT<<"找到\n";idx=a.find(c);//在A中查找c。
If(idx==string::npos)//不存在。
        cout<<"未找到\n";       其他//存在。
cout<<"找到\n";返回0;

2.

在C语言中,字符串存储为字符数组,以'\0'结尾。
在C接口中有strstr函数,它可以在字符串中查找另一个字符串。

char*strstr(constchar*str1,constchar*str2);

该函数是在str1中查找str2。
如果存在则返回找到的起始指针,否则返回NULL。

参考代码:

#include#include#includeusingnamespacestd;intmain(){字符串a="abcdefghigklmn";字符*b="def";字符*c=“123”;if(strstr(a.c_str(),b)==NULL)//在a中查找b,如果不存在,cout<<"notfind\n";//结果输出。
else//否则它存在。
        cout<<"找到\n";//输出结果。
if(strstr(a.c_str(),c)==NULL)//在a中查找b,如果不存在,cout<<"notFound\n";//输出结果。
else//否则它存在。
        cout<<"找到\n";//输出结果。
返回0;

3.需要注意的事项。

这两种方法在实际编程中都可以使用,而且效果几乎是一样的。
不过相对来说,使用C++字符串效率更高,代码也更简单。

怎么判断string里包含字符串

js判断字符串是否包含给定字符串,并在String对象中查找子字符,indexOfvarCts="bblText";if(Cts.indexOf("Text")>0){alert('CtscontainsTextstring');}index用法:返回String对象中子字符串第一次出现的字符位置。
strObj.indexOf(subString[,startIndex])参数是必需的。
字符串对象或文字。
子字符串是必需的。
要在String对象中查找的子字符串。
starIndex是可选的。
该整数值指示String对象中开始搜索的索引。
如果省略,则从字符串的开头开始搜索。
描述indexOf方法返回一个整数值,指示String对象中子字符串的起始位置。
如果未找到子字符串,则返回-1。
如果startindex为负数,则startindex被视为零。
如果它大于最大字符的位置索引,则认为它是最大可能的索引。
搜索是从左到右进行的。
否则,该方法与lastIndexOf相同。
示例下面的示例说明了indexOf方法的用法。
functionIndexDemo(str2){varstr1="BABEBIBOBUBABEBIBOBU"vars=str1.indexOf(str2);return(s);}对于JavaScript的indexOf,忽略大小写。
JavaScript中的indexOf函数方法返回一个整数值,该值指示String对象中子字符串的开头。
如果未找到子字符串,则返回-1。
如果startindex为负数,则startindex被视为零。
如果它大于最大字符的位置索引,则认为它是最大可能的索引。
indexOf函数从左到右搜索。
否则,该方法与lastIndexOf相同。
下面的示例说明了indexOf函数方法的使用。
functionIndexDemo(str2){varstr1="BABEBIBOBUBABEBIBOBU"vars=str1.indexOf(str2);return(s);}

c++string怎样判断字符串里面是否含有某个字符串?

使用字符串成员搜索函数

#include#includeusingnamespacestd;intmain(){stringstr="afdsdfs_hello_sdfas#@!";stringstr1="hello";string::size_typeidx=str.find(str1);if(idx!=string::npos){cout<<"字符串包含"<

string类提供了6个搜索函数,每个函数在表单中都有不同的搜索标签。
所有这些操作都会返回一个string::size_type类型的值,以下标形式指定搜索匹配发生的位置,或者返回一个名为string::npos的特殊值(表示搜索不匹配)。
string类将npos指定为保证大于任何有效下标的值。
所以当str.find("oh")==string::npos时,就说明字符串str中不存在字符“oh”。
反之,str.find("oh")!=string::npos则表示字符串中不存在字符“oh”。
字符“oh”在字符串中

热门文章
1
Redisson分布式锁深度解析:Red... Redis实现分布式锁+Redisson源码解析在某些场景下,多个进程需要以互斥...

2
深度解析Docker:容器技术提升应用部... docker是什么Docker是一种强大的开源容器技术,它将应用程序及其所有依赖...

3
Docker dockercp命令:容器... Dockercp命令详解:在Docker容器和主机之间复制文件&#47;...

4
Redis KEY模糊查询优化策略及SC... RedisKEY*模糊查询导致交互速度慢、阻塞其他Redis操作在Redis中使...

5
Redisson深度解析:分布式锁实战与... Redis:redis分布式锁实战之redisson在分布式环境中;个体锁不能再...

6
Python float()函数:Web... Pythonfloat(input())的用法,web中的应用float(inp...

7
Java单例模式深入解析及实例代码分享 单例模式单例模式实例在Java中,单例模式确保类只存在一个实例。该模式的主要作用...

8
Docker核心原理解析:深入理解Nam... DOCKER总结Docker是一个开源应用程序容器引擎,允许开发人员将其应用程序...

9
C语言字符串输出技巧:指针与数组首地址的... C语言字符串输出Chara[]="aaaaa";printf...

10
200本Java开发精选书籍免费分享!附... Java开发书籍推荐(200多本)我整理了一份Java开发的邮件资源,一共大概2...