• 访问

    • 遍历

      • 不需修改: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. AtCoder Regular Contest 094 D Worst Case【思维题】

    https://arc094.contest.atcoder.jp/tasks/arc094_b 题意: 在2次超多人的比赛中,你取得的成绩依次为第A名和第B名.一个人的成绩为a和b时,当且仅当ab& ...

  2. UVA_489:Hangman Judge

    Language:C++ 4.8.2 #include<stdio.h> #include<string.h> int main(void) { ]; ]; ]; ]; // ...

  3. Ubuntu18.10创建软件图标

    解压下载包都/opt目录 创建并编辑/usr/share/applications/xxx.desktop [Desktop Entry] Encoding=UTF-8 Name=Pycharm Co ...

  4. Autodesk 卸载工具,一键完全彻底卸载删除autodesk软件专门卸载工具

    autodesk卸载工具(AUTO Uninstaller)是专门为了针对autodesk类软件卸载不干净而导致autodesk安装失败问题进行研发的autodesk一键卸载工具.现在虽然360或一些 ...

  5. Python--day69--ORM查询的13种方法

    ORM查询的13种方法: 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> ...

  6. Oracle中组合索引的使用详解(转)

    在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引.在组合索引的使用方面,Oracle有以下特点: 1. 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的w ...

  7. NSDate 格式化含有毫秒

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"]; 版权声明:本文为博主原创文章,未经博主允许不得转载.

  8. day7_python之面向对象高级-反射

    反射:通过字符串去找到真实的属性,然后去进行操作 python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 1.两种方法访问对象的属性 cl ...

  9. SuperSocket 服务器管理器客户端

    SuperSocket 服务器管理器当前有两种类型的客户端, Silverlight客户端和WPF客户端.这两种客户端的代码都在源代码中的"Management"目录,你可以自行编 ...

  10. CentOS7 network.service loaded failed 处理技巧

    某一日,用systemctl --failed查看到如下错误信息,但实际上网络是OK的,真奇怪: 1 2 3 4 5 6 7 8 [root@localhost.localdomain media]# ...