• 访问

    • 遍历

      • 不需修改: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个字符c
      • s.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可以是任何算术类型
    • 字符串转数字(psize_t类型变量,保存s中第一个非数值字符的下标,默认为0b表示转换所用的基数,默认为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的常见操作的更多相关文章

  1. 【java】String类常见操作

    秋招做题需要,总结String类常用api如下: 简单的:str.length().str.isEmpty().str.split(“;”)切割 1.字符串反转:借助StringBuilder/Str ...

  2. 面试题中关于String的常见操作

    题目1: 将用户输入的一段话,每个单词的首字母大写, 每个单词之间的空格调整为只有一个,遇到数字,将数字与后一个单词用下划线 "_" 进行连接 题目2:将 i @@ am @@@ ...

  3. java string常见操作题

    1. 每个基本类型封装类都有将string转换为基本数据类型的方法 对于非常大的数字请使用Long,代码如下 int age = Integer.parseInt("10");  ...

  4. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  5. 转:jQuery 常见操作实现方式

    http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...

  6. jQuery 常见操作实现方式

    一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备忘. jQuery 常见操作实现方式 $("标签名") //取html元素 document. ...

  7. C#路径/文件/目录/I/O常见操作汇总<转载>

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  8. 【转】C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  9. C#路径,文件,目录,I/O常见操作

         C#路径,文件,目录,I/O常见操作 文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供 ...

随机推荐

  1. springboot 自定义starter之AutoConfiguration【原】

    八.自定义starter AutoConfiguration: 1.这个场景需要使用到的依赖是什么? 没有特别依赖的配置 2.如何编写自动配置 @Configuration //指定这个类是一个配置类 ...

  2. js、php判断手机PC

    用于phpcms <script type="text/javascript"> var url = window.location.href; if(/Android ...

  3. 洛谷 1463[SDOI2005] 反素数ant

    题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...

  4. jQuery 鼠标移入图片 显示大图并跟随鼠标移动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Mysql----linux下安装和使用

    一.安装 安装环境centOS,MySQL 使用yum安装mysql 1. 下载rpm [root@CoderMrD admin]# wget -i -c http://dev.mysql.com/g ...

  6. Spring集成Hessian1

    Hessian是一个轻量级的远程调用工具,采用的是Binary RPC协议,很适合于发送二进制数据,基于HTTP具有防火墙穿透能力.Hessian一般是通过Web应用来提供服务,因此非常类似于平时我们 ...

  7. ocilib linux编译安装

    1.首先下载ocilib到自己目录 github:https://github.com/vrogier/ocilib 2.在下载instantclient 11.2.2的文件: instantclie ...

  8. DataTable CAST 成集合后,进行自定义排序再转换回DataTable

    dt = dt.Rows.Cast<DataRow>().OrderBy(r => Convert.ToInt32(r["数量"])==0?1:0).ThenBy ...

  9. 3331: [BeiJing2013]压力

    3331: [BeiJing2013]压力 LCA+树上差分,和之前类似的题差不多,就是多了个v-dcc缩点,唯一要注意的就是判断是否是割点,对于不是割点的点,如果他是起点或重点,ans++,和差分没 ...

  10. 怎么查看mysql 的binlog日志存放的位置

    image.png 这个你可以看配置文件 启用了才有这样的记录默认是没有的 linux系统中的/etc/my.cnf my.cnf内容: log-bin = mysqlbin # 默认配置 一般放在/ ...