C++中string字符串查找某一子字符串所有出现过的位置,并计数
C++中string字符串查找某一子字符串所有出现过的位置,并计数
(可用于招聘软件笔试题中的应用,关于C语言中的该功能复杂度最小的实现以后再补充)
直接上示例代码:
#include <iostream>
#include <string>using namespace std;int main(){string s = "abc abcde abcdefgh";string sub = "abc";int index = 0;int count = 0;while ((index = s.find(sub, index)) < s.length()){count++;index++;}cout << count << endl;return 0;
}
简单说就是利用string类中的find函数,记录查找到的下标,然后再从记录的坐标+1位置开始查找。
提供一个思路,至于查找后用于什么样的用途,要根据题目要求来变换。如,将abc替换成A,则先erase()再insert()。当然这里如果有多少个就替换多少次的话,由于没有替换的字符进行了多次移动,时间复杂度会很高,至于怎么避免,那是另外的问题了。
阿猪米德
2019.08.17于湖北武汉
C++中string字符串查找某一子字符串所有出现过的位置,并计数相关推荐
- Swift3.0语言教程查找字符集和子字符串
Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...
- PHP | 检查字符串中是否存在特定的单词/子字符串
Given a string and a word/substring, and we have to check whether a given word/substring exists in t ...
- 字符串7——重复的子字符串
字符串7--重复的子字符串 例题 题目链接 题目说明 解题 方法一:枚举 思路与算法 代码 复杂度分析 方法二:字符串匹配 思路与算法 代码 复杂度分析 方法三:KMP 算法 思路与算法 代码 复杂度 ...
- c语言 找子字符串,c语言搜索子字符串
c字符串功能练习: 获取一行字符串,然后,在这行字符串中搜索是否包含一个小字符串 #include #include #define N 100 using namespace std; int re ...
- python中string.digits_python学习笔记五:字符串方法
常用字符串常量: string.digits:包含数字0~9的字符串 string.letters:包含所有字母(大写或小写字符串,在python3.0中,使用string.ascii-letters ...
- c语言字符串中取最大字符串,使用C语言提取子字符串及判断对称子字符串最大长度...
先来看一个使用C语言从字符串中提取子字符串的基本方法总结: #include /*处理中文字符*/ /*遍历字符串,非ASCII字符读取2个字节,ASCII读取一个字节,获取字符串长度*/ int S ...
- python中uppercase是什么意思_python判断大小写并转换_python中string模块相关方法(大小写转换,字符串条件判断)....
string模块主要包含关于字符串的处理函数,在这里列举经常会使用的一些函数. 在例如获取随机密码等之类的题时可能会用到这类函数 1.string.ascii_letters 获取所有ascii码中字 ...
- C#中string.format用法详解 格式字符串
string.Format对C#字符串格式化 String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 ...
- Java 中String 类的不可变性与字符串拼接解析
目录 一.String 类是不可变的 1.1 不可变的原因 1.2 不可变的好处 二.字符串的"+" 拼接 2.1 官方解释 2.2 append() 方法 2.3 具体实现 2. ...
最新文章
- 转程序员,都去写一写前端代码吧
- python在日常工作处理中的应用-python在工作中的应用场景介绍
- Delphi写的等待进程运行结束函数
- Min_25筛有关求解次小质因子
- 计算机会计简要回答会计电算化的作用,会计电算化在学校财务管理中的作用
- adb卸载手机内置软件
- SQL语句的基础教程(一)
- imx6 android gadget,imx6q安卓启动失败显示Suspending console(s)(已解决)
- centos6 yum 阿里源 配置
- linux bond双活跟主备的区别,“双活中心”比“主备”方式更可靠
- 用python做头像_如何利用python制作微信好友头像照片墙?
- 华为5G CPE是做什么用的?
- photoshop 去掉背景
- 干得漂亮!微信封禁大量色情账号
- 如何提升计算机的网络性能,技术丨怎样提升电脑性能?
- 第七节 设计电路与学书法学绘画并没有差别
- html微软雅黑无效,求让所有浏览器支持微软雅黑的方法_html/css_WEB-ITnose
- 广义相对论-学习记录16-第七章-史瓦西解与粒子运动1
- String Art利用matlab用直线作画
- Django 学习 之ORM多表操作
热门文章
- MarkdownPad的livepreview预览无效,显示this view has crashed
- fuchsia appmgr分析
- sql 累计占比_sql 面试题(难题汇总)
- 数据分析常见SQL面试笔试题
- 抽奖随机滚动_怎么用EXCEL做个抽奖器
- QR法求解特征值特征向量
- 2021-08-20
- excel 多列内容合并为一个单元格
- 判断手机设备是否支持5G无线频段
- RabbitMQ第二话 -- Springboot基于四种Exchange(Direct、Fanout、Topic、Heders、延时队列)的实现和多虚拟主机下的生产消费者实现