首页 > 其他分享 >判断一个字符串是否为另一个字符串的子串

判断一个字符串是否为另一个字符串的子串

时间:2024-04-18 21:22:09浏览次数:27  
标签:子串 判断 string 查找 字符串 include find cout

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

其重载形式为:string::size_type string::find(string &);

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

#include <iostream>
#include <string>
using namespace std;
int main()
{
string a="abcdefghigklmn";
string b="def";
string c="123";
string::size_type idx;
idx=a.find(b);//在a中查找b.
if(idx == string::npos )//不存在
cout << "not found\n";
else//存在
cout <<"found\n";

idx=a.find(c);//在a中查找c。
if(idx == string::npos )//不存在
cout << "not found\n";
else//存在
cout <<"found\n";
return 0;
}
2、strstr函数
在C语言中,字符串存储为字符数组,以'\0'结束。 在C的接口中,有strstr函数,可以在字符串中查找另一个字符串。

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

功能为在str1中查找str2,如果存在,那么返回查找到的起始指针,否则返回NULL。

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
string a="abcdefghigklmn";
char *b="def";
string c="123";

if(strstr(a.c_str(), b) == NULL)//在a中查找b,不存在
cout << "not found\n";
else//否则存在
cout <<"found\n";
if(strstr(a.c_str(), c.c_str()) == NULL)//在a中查找c,不存在
cout << "not found\n";
else//否则存在
cout <<"found\n";
return 0;
}
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/u013925378/article/details/91971854

标签:子串,判断,string,查找,字符串,include,find,cout
From: https://www.cnblogs.com/YJH6994/p/18144433

相关文章

  • 2024-04-18---中等题---无重复字符的最长子串(滑动窗口)
    无重复字符的最长子串(滑动窗口)题目:思路:一暴力法:特殊情况,长度为0或者1声明每次位置的最大长度,和最大的最大值(返回值)双层循环,有点暴力二滑动窗口:​ 基本概念:维持一个窗口(可以理解为队列),当新进来的元素与前面的重复,则把重复的元素及之前的元素全部忽略(可以理解为......
  • Jmeter如何判断请求的数据是Json还是表单格式
    就我个人而言,最简单的是使用curl命令执行下就知道了,比如我自己写的图书管理系统,flask框架图书管理系统服务器端-加个小鸡腿-博客园(cnblogs.com) ,python命令启动后是这样的 其中查询所有图书的接口是127.0.0.1:5000/books,我们打开浏览器输入这条url显示的数据是json格式......
  • 判断字符串是否包含数组中的元素
    php怎样简易地判断字符串是否包含数组中的元素呢,折腾了一晌未果。从php内置的字符串函数和数组函数,没见到直接的方法,只有自行循环判断。方法一:循环数组,使用strstr函数判断其中元素是否被包含在字符串中,有则退出循环,输出true,没则循环到底,输出false。亮点是代码直观,遇到true就退出......
  • leedcode-判断子序列
    自己写的,有点麻烦classSolution:defisSubsequence(self,s:str,t:str)->bool:#第一步先验证s是t的无序子序列#使用字典记录t中每个字符的出现次数mydict=dict()foriint:ifnotmydict.get(i):......
  • JAVA基础-流程控制、字符串
    一、java基础1、java主类结构packagecom.study.again001;包名publicclasshelloword{类名staticStrings1="1";静态成员变量publicstaticvoidmain(String[]args){main方法Strings2="2";局部变量System.out.println(s1......
  • C#判断窗体是否被遮挡 - 开源研究系列文章
    https://www.cnblogs.com/lzhdim/p/18122548  上次发布了托盘窗体的显示与隐藏的博文:,但是在测试窗体最大化的时候发现窗体没有隐藏,调试了下知道是窗体是否被遮挡这个函数的判断有问题。于是就研究了该代码,然后联系了该操作类的作者,也是博客园的园友,然后在他的帮助下将操作类进......
  • pwn知识——(x86)格式化字符串中利用fini_array及拓展
    导言这类题型还是我复现CISCN_2019_西南的PWN1的时候遇见的,算是涨知识了前置知识我们都知道,在程序中最先调用的不是main,也不是__libc_start_main,而是_start,我们来看一下再x86下的_start.text:08048420public_start.text:08048420_start......
  • shell脚本中的运算符和条件判断
    shell脚本中的运算符和条件判断:一、算术运算符在Shell脚本中,你可以使用各种运算符来执行数学运算、比较和逻辑操作。计算方式:$[]$(())例:a=$[(9+5)90]打印输出结果==>echo$a二、条件判断判断方式:test$a=90[$a=90]注意事项:判断处理中间空格隔开数字......
  • shell vi 文本替换字符串
     在shell中使用vi或vim编辑器进行文本替换可以通过以下步骤完成:打开终端。使用vi或vim命令打开目标文件,例如:vifilename.txt。进入替换模式,可以通过按:%s/old_string/new_string/g进行全局替换。 : 进入命令模式。% 表示文件中的所有行。......
  • 新手大白话 UUCTF 2022 新生赛ezpop 字符串逃逸
    今天做个字符串逃逸的题目,这个题还挺不错的,不多bb直接看源码。点击查看代码<?php//flaginflag.phperror_reporting(0);classUUCTF{public$name,$key,$basedata,$ob;function__construct($str){$this->name=$str;}function__wakeup(){......