string的常见操作
- 访问
- 遍历
- 不需修改:
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::nposstring::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)
- 转成整形
- 数值转字符串
string的常见操作的更多相关文章
- 【java】String类常见操作
秋招做题需要,总结String类常用api如下: 简单的:str.length().str.isEmpty().str.split(“;”)切割 1.字符串反转:借助StringBuilder/Str ...
- 面试题中关于String的常见操作
题目1: 将用户输入的一段话,每个单词的首字母大写, 每个单词之间的空格调整为只有一个,遇到数字,将数字与后一个单词用下划线 "_" 进行连接 题目2:将 i @@ am @@@ ...
- java string常见操作题
1. 每个基本类型封装类都有将string转换为基本数据类型的方法 对于非常大的数字请使用Long,代码如下 int age = Integer.parseInt("10"); ...
- C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- 转:jQuery 常见操作实现方式
http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...
- jQuery 常见操作实现方式
一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备忘. jQuery 常见操作实现方式 $("标签名") //取html元素 document. ...
- C#路径/文件/目录/I/O常见操作汇总<转载>
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- 【转】C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- C#路径,文件,目录,I/O常见操作
C#路径,文件,目录,I/O常见操作 文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供 ...
随机推荐
- hdu3472 混合图判断欧拉通路
对于欧拉回路,先判断出度入度的差是否为偶数,然后最大流一次. 此题是判断有无欧拉通路,前提要判断图是否连通,然后欧拉通路的条件:要么出入度差没有奇数,或者只有2个点. 所以先统计差为奇数的个数,如果不 ...
- KiCad EDA 5.1.3 正式发布了
KiCad EDA 是一款用于印刷电路板设计的开源自由软件,最初由法国人 Jean-Pierre Charras 于 1992 年推出1,现由 KiCad 开发团队维护. KiCad 目前支持英语.法 ...
- GitHub Top 100 Objective-C 项目简介
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 若有任何疑问可通过微博@李锦发联系我 GitHub 地 ...
- MyBatis动态SQL(一)
MyBatis 的强大特性之一便是它的动态 SQL.动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似.在 MyBatis 之前的版本中,有很多元素需要花时间了解.MyBatis 3 ...
- 【NS2】How to remove Cygwin completely from Windows
How to remove Cygwin completely from Windows 9th September 2012. 31243 views. Software Remember need ...
- maven修改版本号
1.修改版本 mvn versions:set -DnewVersion=xxx 2.回滚版本,提交后不能回滚 mvn versions:revert 3.提交版本变更 mvn versions:co ...
- Android内核剖析读书笔记(1)—Framework概述
一.Framework组成 1.服务端组成 a.WindowManagerService 决定各窗口的叠放次序.隐藏或者显示窗口 b.ActivityManagerService 管理应用 ...
- 【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的差别和联系
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/weasleyqi/article/details/33396809 1.首先先了解下NSNumber ...
- UITableView 刷新问题
遇到的问题: 在程序里异步请求服务器后回调函数中处理数据和界面数据的刷新,但是更新UITableView的时候总是很慢才更新完,打印TableView的代理方法也都很快打印. 解决办法就是: [sel ...
- selenium webdriver学习(一)------------快速开始(转载JARVI)
selenium webdriver学习(一)------------快速开始 博客分类: Selenium-webdriver selenium webdriver 学习 selenium webd ...