博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
顺序容器--字符串操作
阅读量:7226 次
发布时间:2019-06-29

本文共 2402 字,大约阅读时间需要 8 分钟。


  • 对于字符串string的额外操作

    const char *cp = "Hello world!!!!";char noNuLL[] = { 'H', 'i' };string s1(cp);string s2(noNuLL, 2);string s3(noNuLL);//错误字符串需要以/0为结束符string s4(cp + 6, 5);string s5(s1, 6, 5);string p("Helo World!!!");string p2 = p.substr(0, 5);string p3 = p.substr(5);string p4 = p.substr(6, 11);cout << p << endl;cout << p2 << endl;cout << p3 << endl;cout << p4 << endl;
    字符串操作 含义
    s.insert(pos,args) pos可以是下标或者迭代器,或者说所有线性存储容器都支持下标设置
    s.erase(pos,len) 删除pos位置上长度为len个字符
    s.append(args) 在s末尾添加args然后返回一个s的引用
    s.assign(args) 这是一个替换函数。用args替换s中的字符串
    s.replace(range,args) 删除s中范围range内的字符并且用args替换
#include
#include
#include
using namespace std;void replace_string(string&s, const string &oldVal, const string &newVal){ auto l = oldVal.size(); if (!l) return;//表示要查找的字符串为空 auto iter = s.begin(); while (iter <= s.end() - 1) { auto iter1 = iter; auto iter2 = oldVal.begin(); while (iter2 != oldVal.end() && *iter1 == *iter2) { iter1++; iter2++; } if (iter2 == oldVal.end()) { iter = s.erase(iter, iter1);//由后至前逐个插入 if (newVal.size()) { iter2 = newVal.end(); do { iter2--; iter2 = s.insert(iter, *iter2); } while (iter2 > newVal.begin()); } iter += newVal.size(); } else iter++; }}int main(int argc, char **argv){ ////////////////////////////////////////////////////////////////////////// //string操作 const char *cp = "Hello world!!!!"; char noNuLL[] = { 'H', 'i' }; string s1(cp); string s2(noNuLL, 2); string s3(noNuLL);//错误字符串需要以/0为结束符 string s4(cp + 6, 5); string s5(s1, 6, 5); string p("Helo World!!!"); string p2 = p.substr(0, 5); string p3 = p.substr(5); string p4 = p.substr(6, 11); cout << p << endl; cout << p2 << endl; cout << p3 << endl; cout << p4 << endl; //string p5 = p.substr(16);//字符串数组越界,抛出异常 ////////////////////////////////////////////////////////////////////////// //9.41 vector
vc{ 'g', 'f', 's', 'b', 'a' }; string s(vc.data(), vc.size()); cout << s<
> c) s.push_back(c); }

转载于:https://www.cnblogs.com/VCctor/p/5100692.html

你可能感兴趣的文章
设计模式——观察者模式:气象监测应用
查看>>
NSUserDefaults简介及如何使用 NSUserDefaults 存储自定义对象
查看>>
IntelliJ IDEA搭建SpringBoot
查看>>
深入浅出iOS事件机制
查看>>
hadoop理解
查看>>
Oracle——18用户、角色和权限信息的视图总结
查看>>
WordPress 中的 Debug 模式(调试模式)
查看>>
node下使用express框架,ejs模板引擎
查看>>
搜索:文本的匹配算法
查看>>
Fedora 17 LibreOffice 办公套件的安装与汉化
查看>>
scrollview不充满屏幕的原因
查看>>
PHP单例模式
查看>>
解密敏捷自动化测试
查看>>
DelphiMVC拦截器介绍
查看>>
Spring Cloud构建微服务架构:分布式配置中心【Dalston版】
查看>>
iOS 11正式版终于来了!强力助攻小程序
查看>>
开放平台API接口调用频率控制系统设计浅谈
查看>>
Lucene4.3进阶开发之潜龙勿用( 七)
查看>>
DTD和schema小总结
查看>>
去掉导航栏的黑线
查看>>