C++字符串string类型

  • 字符串的创建方法
    1. string s1("how are you");
    2. string s2(s1,1,2) //源字符串,偏移量,计数量 ow
    3. string s3="fine";
    4. string s4=s1+"fine";//右边第一项必须为string
    5. string s5(s1.begin()+1,s1.begin()+3); 用迭代器
  • 字符串的其他操作
    1. 插入 
      1. s.insert(0,"how") ;插入位置,内容
      2. s.append("you");
      3. 用"+"号
    2. 字符串用size()计算长度
    3. 字符串支持下标操作s[1]
    4. 替换
      1. s.replace(7,4,"her");从什么位置开始;删除多少个;替换字符串
    5. 查询
      1. string::pos当查询不到时,会返回这个值
      2. int n=find("you",15);待查询的字符串,查询起始位置(默认为0)若查到"you"返回首次匹配的起始位置
      3. int n=find_first_of("abcde")'依次查找每个字符,如果在abcde中,则返回字符位置,否则返回string::pos
      4. int n=find_first_not_of("abcde")返回第一个与abcde都不匹配的元素位置
      5. find_last_of与find_last_not_of与3,4相似
      6. rfind从后往前查找
    6. 删除
      • erase s1.erase(s1.begin(),s1.begin()+3);两个迭代器参数.删除s1前三个字符
      • s1.erase(2);只有一个参数,删除位置2以后的所有元素(注意!)
      • s1.erase(2,3);删除从2开始的3个元素。起始位置,删除个数
    7. 比较
      • 直接用>,<,==
  • 转化和拆分
    1. c_str()  const char c*=s.c_str()当要用atoi系列函数时,需对string进行这样的转换 atoi(s.c_str);(string-->int)
    2. 用stringstream字符串流把int---->string方法:int n1=10;string s1;stringstream os1;os1<<n1;os1>>s1;
    3. 按空格分开的数据,可以用stringstream直接读取
    4. 按逗号或其他分隔的数据,可以getline(iss,str,',')第三个参数是分隔符
    5. 按逗号或其他分隔的数据,可以先replace把逗号转成空格再用stringstream读取
  • trim去前后空格的实现
    • s.erase(0,s.find_first_not_of(" "));s.erase(s.find_last_not_of(" ")+1);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值