STL---字符串使用方法
参考博客:https://blog.csdn.net/jkdd123456/article/details/81563304
1:string对象的定义和初始化以及读写
string s1; 默认构造函数,s1为空串
string s2(s1); 将s2初始化为s1的一个副本
string s3("valuee"); 将s3初始化一个字符串面值副本
string s4(n,'c'); 将s4 初始化为字符'c'的n个副本
cin>>s5; 读取有效字符到遇到空格
getline(cin,s6); 读取字符到遇到换行,空格可读入,知道‘\n’结束,
getline(cin,s7,'a'); 一个直到‘a’结束,其中任何字符包括'\n'都能够读入
2:string对象操作
s.empty() 判断是否为空,bool型
s.size() 或 s.length() 返回字符的个数
s[n] 返回位置为n的字符,从0开始计数
s1+s2 连接,看下面例子:
可用此方法给字符串后面添加字符如:s=s+'a';
a: string s2=s1+", "; //对,把一个string对象和一个字符面值连接起来是允许的
b: string s4="hello "+", "; //错 ,不能将两个字符串面值相加
c: string s5=s1+", "+"world"; //对,前面两个相加相当于一个string对象;
d: string s6="hello" + ", " + s2; //错
(注:字符串尾部追加还可用s.append("abc")函数添加)
s1=s2 替换
s1==s2 相等,返回true或false
!= , < , <= , > , >= 字符串比较,两个字符串短的与长的前面匹配,短的小于长的
3:string对象中字符的处理(头文件cctype)
isalnum(c) 如果c是字母或数字,返回 true
isalpha(c) 如果c是字母,返回true
iscntrl(c) c是控制符,返回true
isdigit(c) 如果c是数字,返回true
isgraph(c) 如果c不是空格,则可打印,,则为true
islower(c) 如果c是小写字母,则为true
isupper(c) 如果c是大写字符,则为true
isprint(c) 如果c是可打印的字符,则为true
ispunct(c) 如果c是标点符号,则为true
isspace(c) 如果c是空白字符,则为true
isxdigit(c) 如果c是十六进制数,则为true
tolower(c) 如果c是大写字符,则返回其小写字母,否则直接返回c
toupper(c) 跟tolower相反
4:string对象中一些函数
/*-------------------------插入函数----------------------------------包括迭代器操作和下标操作,下标操作更灵活*/
s.insert( it , p ); 把字符串p插入到it的位置
s.insert(p,n,t); 迭代器p元素之前插入n个t的副本
s.insert(p,b,e); 迭代器p元素之前插入迭代器b到e之间的所有元素
s.insert(p,s2,poe2,len); 在下标p之前插入s2下标从poe2开始长度为len的元素
s.insert(pos,cp,len); 下标pos之前插入cp数组的前len个元素
/*-----------------------替换函数-------------------------------*/
s.assign(b,e); 用迭代器b到e范围内的元素替换s
s.assign(n,t); 用n个 t 的副本替换s
a.assign(s1,pos2,len); 从s1的下标pos2开始连续替换len个。
s.replace ( 3 , 3 , " good " ) ; 从第三个起连续三个替换为good
s.substr(i,j) 截取s串中从i到j的子串 //string::npos 判断字符串是否结束
/*-----------------------删除函数-----------------------------*/
s.erase( 3 ) || s.erase ( 0 , 4 ) ; 删除第四个元素或第一到第五个元素
/*----------------------其他函数-----------------------------*/
s.find ( " cat " ) ; 找第一个出现的字符串”cat“,返回其下标值,查不到返回 a.npos(4294967295) ,也可查找字符;
s.append(args); 将args接到s的后面
s.compare ( " good " ) ; s与”good“比较相等返回0,比"good"大返回1,小则返回-1;
reverse ( s.begin(), s.end () ); 反向排序函数,即字符串反转函数
STL---字符串使用方法相关推荐
- C++ 笔记(19)— 标准模板库(STL容器、STL迭代器、STL算法、STL容器特点、STL字符串类)
C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...
- php输出带的字符串吗,php输出含有“#”字符串的方法
本文实例讲述了php输出含有"#"字符串的方法.分享给大家供大家参考,具体如下: 因为#在php中是注释,无法正常输出,需要转换和处理. 输出页: function zh($str ...
- [转]解析字符串的方法
解析字符串的方法 char st[]="123.45ab"; 解析这一段字符串,有很多种方法.这里介绍一个在"stdio.h"里面的函数: sscanf(-); ...
- swift中字符串截取方法(substring)
下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange 1.将String转化为NSStrin ...
- 简单介绍Idea使用正则表达式批量替换字符串的方法
这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧 由于一开始的粗放扩张,公司项目代码里,遗留有很多 ...
- linux 提取字符串一部分,Linux Shell 截取字符串的方法示例
shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var:start} ${var:0-sta ...
- python replace函数用法_Python实现的从右到左字符串替换方法示例
本文实例讲述了Python实现的从右到左字符串替换方法.分享给大家供大家参考,具体如下: 一 . 前言 需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始, ...
- shell字符串截取方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- ajax返回实体类字符串,js使用ajax传值给后台,后台返回字符串处理方法
之前使用js获取后台生成的JSON字符串,然后给select填充值,这次需要重新获取一次. 这里的目标是,在一个input输入框里,输入一个用户名,判断是否为空,是否不存在,如果存在返回几个字段给前台 ...
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
最新文章
- slurm用户快速入门手册
- IBM虚拟化与云计算专家王庆波——云计算催生业界变革带来更多商业机会
- SAP卢东明:大数据同样需要小身材
- 解决计算机改名无法连接TFS的问题
- python装饰器原理-python装饰器的原理和使用
- Linux上使用find、xargs、grep递归的查找指定文件类型中的内容
- 033_NavMenu导航菜单
- PHP CLI模式开发
- JS,JQ 格式化小数位数
- mysql接口可以重载吗_php 到底可不可以重载
- AsyncDisplayKit官方文档个人翻译
- Logistic逻辑回归用初等数学解读逻辑回归
- 自定义video控制栏,移动端可行
- 【优化算法】多策略协同多目标萤火虫算法(MOFA_MOCS)【含Matlab源码 1512期】
- 易鲸捷首架刘明:Trafodion值得放入工具箱,因为有以下优点
- 小程序 canvas旋转文字
- 设备或电脑中如何查看自己所在的公网IP
- 如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
- MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
- BUUCTF:很好的色彩呃?