场景:在处理一些复杂的字符时候,我们要对其进行相应的处理才能得到我们想要的结果,包括:文件目录的提取,文件后缀的提取,提取某一个范围内的字符串,不符合规则字符的删除和替换等等。

// test_arithmetic.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <stdio.h>
#include <algorithm>//必须加上
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
using namespace std;int _tmain(int argc, _TCHAR* argv[])
{std::string str ="12345674849dfsfds";cout<<"str:"<<str<<endl;//1字符位置的交换iter_swap(str.begin(),str.begin()+6);cout<<"swpa:"<<str<<endl;//2.字符串中查找字符bool value = binary_search(str.begin(),str.end(),'4');cout<<"value:"<<value<<endl;//3.字符串中查找字符存在的个数int items =count(str.begin(),str.end(),'4');cout<<"items:"<<items<<endl;//4字符串中字符替换replace(str.begin(),str.end(),'4','a');cout<<"replace:"<<str<<endl;//5字符串中字符删除str.erase(remove(str.begin(),str.end(),'a'),str.end());cout<<"remove:"<<str<<endl;//6字符串自动排序sort(str.begin(),str.end());cout<<"sort:"<<str<<endl;//7.字符串大小写转换std::string str ="SKJH|FJH|jhds|fjh";transform(str.begin(),str.end(),str.begin(),::tolower);cout<<"lower:"<<str<<endl;transform(str.begin(),str.end(),str.begin(),::toupper);cout<<"upper:"<<str<<endl;//8分隔字符串vector<std::string> arr;std::stringstream ss(str);std::string splitStr;while(getline(ss,splitStr,'|')){arr.push_back(splitStr);}for(vector<std::string>::iterator it = arr.begin();it!= arr.end();++it){cout<<"it:"<<(*it)<<endl;}system("pause");return 0;
}

[C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]相关推荐

  1. C++_泛型编程与标准库(十)——set与map

    C++_泛型编程与标准库(十)--set与map 参考:<侯捷泛化编程与标准库>.GNU9.3.0,vs2019 图中标红部分为自己的笔记理解 SET GNU 9.3.0的set部分代码如 ...

  2. C++_泛型编程与标准库(九)——红黑树的使用

    C++_泛型编程与标准库(九)--红黑树的使用 参考:<侯捷泛化编程与标准库>.GNU9.3.0,vs2019 图中标红部分为自己的笔记理解 struct _Rb_tree_node_ba ...

  3. C++_泛型编程与标准库(八)

    C++_泛型编程与标准库(八) 参考:<侯捷泛化编程与标准库>.GNU9.3.0,vs2019 图中标红部分为自己的笔记理解 1.array GNU 2.9的写法 array GNU9.3 ...

  4. C++_泛型编程与标准库(七)

    C++_泛型编程与标准库(七) 参考:<侯捷泛化编程与标准库>.VC2019 图中标红部分为自己的笔记理解 1.深度探索vector 笔者觉得在最新的VC2019下不是二倍增长,虽然是几何 ...

  5. C++_泛型编程与标准库(六)

    C++_泛型编程与标准库(六) 图中标红部分为自己的笔记理解 1.iterator几个特定属性 vc2019的链表list迭代器部分代码 // CLASS TEMPLATE _List_iterato ...

  6. C++_泛型编程与标准库(五)

    C++_泛型编程与标准库(五) 图中标红部分为自己的笔记理解 1.容器与容器之间的关系 2.深度探索list list是双向链表,从vc2019的list源码和以下图片都可以看出 template & ...

  7. C++_泛型编程与标准库(四)

    C++_泛型编程与标准库(四) 图中标红部分为自己的笔记理解 1.注意一个特化的typedefine 2.分配器 2.2.VC2019的allocator类 1. allocate调用operator ...

  8. C++_泛型编程与标准库(三)

    C++_泛型编程与标准库(三) 图中标红部分为自己的笔记理解 1.分配器简单测试,后面还会单讲 实测VC2019在Microsoft Visual Studio\2019\Community\VC\T ...

  9. C++_泛型编程与标准库(二)

    C++_泛型编程与标准库(二) 图中标红部分为自己的笔记理解 为什么快?因为是红黑树实现的(高度平衡树)

最新文章

  1. centos 安装 openfire
  2. Spartan-6的时钟资源、全局时钟缓冲器/多路复用器
  3. React Native 实现物流进度信息
  4. 记一次 IIS 7.0 身份验证相关的问题解决
  5. mysql11导入数据_MySQL专题11之MySQL导出数据、MySQL导入数据
  6. luoguP1742 最小圆覆盖
  7. 算法高级(37)-微信、微博中的好友关系该如何设计?
  8. FPGA TestBench 计数
  9. 卧槽!华为工程师总结的Java笔记,太优秀了!
  10. VLAN(虚拟局域网)
  11. VMware虚拟机安装ubuntu后无法复制文件的解决办法
  12. 分享!基于新浪API生成短链接的15个最佳平台
  13. 外贸管理软件之出口流程整理丨汇信外贸软件
  14. discuz模板机制
  15. 【数字图像处理】经典空域滤波算法
  16. Python + PIL 处理支付宝AR红包
  17. sfsfdgsdfg
  18. 利用Lazy简化单例模式的编写
  19. 三种不同的interrupt方法区别调用
  20. 毫米波频段射频器件的主要技术工艺趋势

热门文章

  1. 通信网络基础 ——RIP、OSPF、BGP等协议及模拟实验
  2. Ubuntu基础学习
  3. 上海电气和Bentley软件拉升合作挡位 提速奔赴零碳目标
  4. 【PR 基础】速度/持续时间功能
  5. 我的世界Bukkit服务器插件开发教程(一)第一个插件
  6. Django实战之文件上传下载
  7. 华为手机百度云息屏后停止下载_华为智选车载智慧屏评测,1699元让老汽车进入智能时代...
  8. L-data和L.data的区别
  9. 数据结构顺序表中 *L 和 *L
  10. MusicBrainz Picard for Mac(跨平台音乐标记器)