zoukankan      html  css  js  c++  java
  • 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个字符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)
  • 相关阅读:
    成功交付离岸项目
    利用CSP探测网站登陆状态
    Web NFC API
    HTML/W3C-WHATWG-Differences
    MIT教授将网页开发整合为完整独立的程式语言Ur/Web
    移动端前端开发调试
    从0到100——知乎架构变迁史
    C++之再续前缘(一)——C++基础(与C语言的差异)(上)
    又爱又恨系列之枚举enum
    数据结构之队列(三)——循环队列
  • 原文地址:https://www.cnblogs.com/Real-Ying/p/11970790.html
Copyright © 2011-2022 走看看