string的常见操作
2024-09-02 22:13:56
- 访问
- 遍历
- 不需修改:
for(auto c : s)
- 需要修改:
for(auto &c : s)
for(decltype(s.size()) i = 0; i < s.size( ); i++ )
- 不需修改:
- 访问某个字符
- 下标运算符:
str[pos]
,接收的参数类型为size::size_type
。返回“引用”,所以可以修改。越界结果不可预知 str.at(pos)
:会检查下标pos
是否有效- 迭代器
- 下标运算符:
- 遍历
- 转化为字符数组
c_str()
- 获得子串
s.substr(pos)
:返回从pos开始的尾串。如果超出范围会抛出out_of_range异常s.substr(pos,n)
:返回从pos开始,长度为n的子串。超出范围则返回剩余所有部分
- 修改
- 插入
s.append(str)
:在字符串末尾插入str指向的字符串s.insert(pos,n,c)
:在pos之前插入n个字符cs.insert(pos,cstr)
:在pos之前插入字符指针cstr指向的字符串s.insert(pos1,s2,pos2,n)
:在s的pos1位置插入s2从pos2开始的n个字符
- 删除
s.erase(pos,n)
:从pos位置开始,删除n个字符,若n过大,则删完从pos开始的剩余字符
- 替换
s.replace(pos,n,str)
:将pos位置开始的n个字符删除,然后在pos位置处插入str指向的字符串
- 插入
- 搜索
- 搜索成功返回
string::size_type
类型的下标;搜索失败返回string::npos
string::npos
:static变量,const string::size_type
类型,初始化为-1
。由于是一个unsigned类型,因此这个初始值意味着npos
等于任何string最大的可能大小
s.find(args)
:查找s中args
第一次出现的位置s.rfind(args)
:在s中查找args中任何一个字符最后一次出现的位置(反向查找)s.find_first_not_of(args)
:在s中查找第一个不在args中的字符s.find_last_not_of(args)
:在s中查找最后一个不在args中的字符(反向查找)
- 搜索成功返回
- 比较
s.compare(args)
:可以传入字符串或字符指针,以及位置,长度等
- 数值转换
- 数值转字符串
to_string(val)
:val可以是任何算术类型
- 字符串转数字(
p
是size_t
类型变量,保存s
中第一个非数值字符的下标,默认为0
;b
表示转换所用的基数,默认为10
)- 转成整形
stoi(s,p,b)
stol(s,p,b)
stoul(s,p,b)
stoll(s,p,b)
stoull(s,p,b)
- 转成浮点数
stof(s,p)
stod(s,p)
stold(s,p)
- 转成整形
- 数值转字符串
最新文章
- BIND的进阶二:视图,日志,转发,子域的授权
- css 内容超过容器宽度,checkbox等控件不会随着内容延伸
- LightOj1137 - Expanding Rods(二分+数学)
- android里面线程睡眠事件使用方法
- HDOJ2025查找最大元素
- Tomcat安装与配置图文教程
- jquery mobile touch 实例
- A + B Problem II---hdu1002
- Linux下如何启动svn服务器
- springboot学习(三)——http序列化/反序列化之HttpMessageConverter
- ADS协议变量配置界面
- JAVAEE——BOS物流项目13:Quartz概述、创建定时任务、使用JavaMail发送邮件、HighCharts概述、实现区域分区分布图
- CCTV5 前端
- 记账本,C,Github,util
- Umbraco 7 特点
- URL和URI的不同
- sql优化 慢查询分析
- MVC 图片上传(转)
- js判断浏览器的类型和获得浏览器的版本
- vue2 vue-router2 webpack1
热门文章
- Myeclipse运行提示错误: 找不到或无法加载主类 test.test1 终极解决办法
- framework7日期插件使用
- 2019-3-13-win10-uwp-使用-ScaleTransform-放大某个元素
- 重磅课程|《CNCF x Alibaba 云原生技术公开课》正式开讲!
- 实用的cmd命令
- MacOS代理设置(桌面应用代理设置&;Terminal代理设置)
- Josephus问题Java实现
- @codeforces - 702F@ T-Shirts
- pytorch之expand,gather,squeeze,sum,contiguous,softmax,max,argmax
- iptables [-t table] 指定规则表