C++ 中字符串查找、字符串截取、字符串替换
1、字符串查找
s.find(s1) //查找s中第一次出现s1的位置,并返回(包括0)
s.rfind(s1) //查找s中最后次出现s1的位置,并返回(包括0)
s.find_first_of(s1) //查找在s1中任意一个字符在s中第一次出现的位置,并返回(包括0)
s.find_last_of(s1) //查找在s1中任意一个字符在s中最后一次出现的位置,并返回(包括0)
s.fin_first_not_of(s1) //查找s中第一个不属于s1中的字符的位置,并返回(包括0)
s.fin_last_not_of(s1) //查找s中最后一个不属于s1中的字符的位置,并返回(包括0)
2、字符串截取
s.substr(pos, n) //截取s中从pos开始(包括0)的n个字符的子串,并返回
s.substr(pos) //截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回
3、字符串替换
s.replace(pos, n, s1) //用s1替换s中从pos开始(包括0)的n个字符的子串
4、代码测试(字符串操作.cpp)
#include <iostream>
using namespace std;
/* 字符串查找 */
void findSubString(string str){
// find()函数的使用,返回查找对象第一次出现的位置.
cout << str.find("fs") << endl;
// rfind()函数的使用,返回查找对象最后出现的位置
cout << str.rfind("s") << endl;
}
/* 字符串截取 */
void getSubString(string str){
// substr(pos)函数的使用,返回从pos开始(包含pos位置的字符)所有的字符
cout << str.substr(2) << endl;
// substr(pos,n),返回从pos开始(包含pos位置的字符)n个字符
cout << str.substr(2, 2) << endl;
}
/* 字符串替换 */
void replaceString(string str){
// replace(pos,n,s1),用s1替换从pos开始的n个字符
cout << str.replace(0,2,"xiaoming") << endl;
}
int main()
{
string str = string("sdfsf");
// findSubString(str);
// getSubString(str);
replaceString(str);
return 0;
}

5、字符替换(用x替换字符串中所有的a.cpp)
#include <iostream>
using namespace std;
/* 用x替换a */
void replaceAWithX(string str){
int pos;
pos = str.find("a");
while(pos != -1){
// str.length()求字符的长度,注意str必须是string类型
str.replace(pos,string("a").length(),"x");
pos = str.find("a");
}
cout << str << endl;
}
int main()
{
string str = string("fsafsdf");
replaceAWithX(str);
return 0;
}

C++ 中字符串查找、字符串截取、字符串替换的更多相关文章
- ios 字符串处理:截取字符串、匹配字符串、分隔字符串
1.截取字符串 NSString*string =@"sdfsfsfsAdfsdf";string = [string substringToIndex:7];//截取掉下标7之后 ...
- 字符串函数(strcpy字符串拷,strcmp字符串比较,strstr字符串查找,strDelChar字符串删除字符,strrev字符串反序,memmove拷贝内存块,strlen字符串长度)
1.strcpy字符串拷贝拷贝pStrSource到pStrDest,并返回pStrDest地址(源和目标位置重叠情况除外) char *strcpy(char *pStrDest, const ch ...
- js获取(包括中文)字符串长度与截取字符串
/** * @param begin 截取开始的索引 * @param num 截取的长度 */ //截取字符串(包括中文) function SetString(str, len) { var st ...
- js常用方法和检查是否有特殊字符串和倒序截取字符串
js常用方法demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- lua中 string.find(查找获取字符串) string.gsub(查找替换字符串) string.sub(截取字符串)
> aaa='/p/v2/api/winapi/adapter/lgj'> print(string.find(aaa, "^/.+/adapter/(.*)"))1 ...
- linux中shell,awk,sed截取字符串方法总结
转自:http://www.cnblogs.com/kinga/p/5772566.html Shell 第一种: ${parameter%word} 最小限度从后面截掉word${parameter ...
- 实现一个字符串匹配算法,从字符串 H 中,查找 是否存在字符串 Y ,若是存在返回所在位置的索引,不存在返回 -1(不基于indexOf/includes方法)
/** 1.循环原始字符串的每一项,让每一项从当前位置向后截取 H.length 个字符, 然后和 Y 进行比较,如果不一样,继续循环:如果一样返回当前索引即可 **/ function myInde ...
- xml中的<if>和截取字符串
<#if (envPollute=='1')>√</#if><#if (envPollute=='0')>√</#if>${as_title?subst ...
- SQL--去除字符串空格、截取字符串
1
- BAT批处理中的字符串处理详解(字符串截取)
BAT批处理中的字符串处理详解(字符串截取) BAT批处理中的字符串处理详解(字符串截取 批处理有着具有非常强大的字符串处理能力,其功能绝不低于C语言里面的字符串函数集.批处理中可实现的字符串处理 ...
随机推荐
- windows下安装openjdk
redhat版openjdk,解压后就能用,下载地址https://developers.redhat.com/products/openjdk/download. Azul Zulu版openjdk ...
- kali安装后中文乱码
参考: 文章一:https://blog.csdn.net/dust_hk/article/details/103299136?depth_1-utm_source=distribute.pc_rel ...
- Python学习笔记--协程asyncio
协程的主要功能是单线程并发运行 假设有3个耗时不一样的任务.看看协程的效果. 先来看没有使用协程情况: #!/usr/bin/python3 # -*- coding:utf-8 -*- import ...
- 转: Laravel的数据库迁移 介绍的比较清晰
原文: https://blog.sbot.io/articles/12/Laravel-数据库迁移(Database-Migrations)操作实例 很多人可能在学习Laravel框架的时候,对La ...
- Period 时间坑
jdk1.8 的Period Period between = Period.between( LocalDate.parse("2018-01-01 00:00:00", Dat ...
- maven依赖包无法更新下载
在IDEA工程中导入已存在的module时,按默认设置,直到完成导入,结果所有的外部依赖包都无法更新下载,即使是更新了setting.xml配置文件信息,依旧是不能更新下载依赖包,现将具体的操作过程和 ...
- R 拼接结果展示
学长教的拼接结果展示 哇,R 简直太有魅力了! 晚一点补充
- gulp常用插件之rev-del使用
更多gulp常用插件使用请访问:gulp常用插件汇总 rev-del这是一款从模块(如gulp-rev)生成的修订清单中删除旧的.未使用的指纹文件. 更多使用文档请点击访问rev-del工具官网. 安 ...
- Disharmony Trees HDU - 3015 树状数组+离散化
#include<cstdio> #include<cstring> #include<algorithm> #define ll long long using ...
- C# WPF遮罩对话框(Popup Message Overlay/ Dialog Host)
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...