参考博客: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---字符串使用方法相关推荐

  1. C++ 笔记(19)— 标准模板库(STL容器、STL迭代器、STL算法、STL容器特点、STL字符串类)

    C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...

  2. php输出带的字符串吗,php输出含有“#”字符串的方法

    本文实例讲述了php输出含有"#"字符串的方法.分享给大家供大家参考,具体如下: 因为#在php中是注释,无法正常输出,需要转换和处理. 输出页: function zh($str ...

  3. [转]解析字符串的方法

    解析字符串的方法 char st[]="123.45ab"; 解析这一段字符串,有很多种方法.这里介绍一个在"stdio.h"里面的函数: sscanf(-); ...

  4. swift中字符串截取方法(substring)

    下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange 1.将String转化为NSStrin ...

  5. 简单介绍Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧 由于一开始的粗放扩张,公司项目代码里,遗留有很多 ...

  6. linux 提取字符串一部分,Linux Shell 截取字符串的方法示例

    shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var:start} ${var:0-sta ...

  7. python replace函数用法_Python实现的从右到左字符串替换方法示例

    本文实例讲述了Python实现的从右到左字符串替换方法.分享给大家供大家参考,具体如下: 一 . 前言 需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始, ...

  8. shell字符串截取方法

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

  9. ajax返回实体类字符串,js使用ajax传值给后台,后台返回字符串处理方法

    之前使用js获取后台生成的JSON字符串,然后给select填充值,这次需要重新获取一次. 这里的目标是,在一个input输入框里,输入一个用户名,判断是否为空,是否不存在,如果存在返回几个字段给前台 ...

  10. linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

最新文章

  1. slurm用户快速入门手册
  2. IBM虚拟化与云计算专家王庆波——云计算催生业界变革带来更多商业机会
  3. SAP卢东明:大数据同样需要小身材
  4. 解决计算机改名无法连接TFS的问题
  5. python装饰器原理-python装饰器的原理和使用
  6. Linux上使用find、xargs、grep递归的查找指定文件类型中的内容
  7. 033_NavMenu导航菜单
  8. PHP CLI模式开发
  9. JS,JQ 格式化小数位数
  10. mysql接口可以重载吗_php 到底可不可以重载
  11. AsyncDisplayKit官方文档个人翻译
  12. Logistic逻辑回归用初等数学解读逻辑回归
  13. 自定义video控制栏,移动端可行
  14. 【优化算法】多策略协同多目标萤火虫算法(MOFA_MOCS)【含Matlab源码 1512期】
  15. 易鲸捷首架刘明:Trafodion值得放入工具箱,因为有以下优点
  16. 小程序 canvas旋转文字
  17. 设备或电脑中如何查看自己所在的公网IP
  18. 如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
  19. MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
  20. BUUCTF:很好的色彩呃?

热门文章

  1. 小猿圈分享Javascript技巧(下)
  2. MYSQL服务器my.cnf配置文档详解
  3. OSChina 周六乱弹 —— 程序猿到底有多少个不解风情的瞬间?
  4. Spark技术互动问答分享
  5. echarts realtime图实现
  6. Windows Server 2012 之部署Windows Server 更新服务(1)
  7. Python结合selenium自动领取无忧币的脚本
  8. 中文乱码之myEclipse项目导入时中文乱码(待)
  9. python之6-1常用函数
  10. OpenCV教程(42) xml/yaml文件的读写