[C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]
场景:在处理一些复杂的字符时候,我们要对其进行相应的处理才能得到我们想要的结果,包括:文件目录的提取,文件后缀的提取,提取某一个范围内的字符串,不符合规则字符的删除和替换等等。
// 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++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]相关推荐
- C++_泛型编程与标准库(十)——set与map
C++_泛型编程与标准库(十)--set与map 参考:<侯捷泛化编程与标准库>.GNU9.3.0,vs2019 图中标红部分为自己的笔记理解 SET GNU 9.3.0的set部分代码如 ...
- C++_泛型编程与标准库(九)——红黑树的使用
C++_泛型编程与标准库(九)--红黑树的使用 参考:<侯捷泛化编程与标准库>.GNU9.3.0,vs2019 图中标红部分为自己的笔记理解 struct _Rb_tree_node_ba ...
- C++_泛型编程与标准库(八)
C++_泛型编程与标准库(八) 参考:<侯捷泛化编程与标准库>.GNU9.3.0,vs2019 图中标红部分为自己的笔记理解 1.array GNU 2.9的写法 array GNU9.3 ...
- C++_泛型编程与标准库(七)
C++_泛型编程与标准库(七) 参考:<侯捷泛化编程与标准库>.VC2019 图中标红部分为自己的笔记理解 1.深度探索vector 笔者觉得在最新的VC2019下不是二倍增长,虽然是几何 ...
- C++_泛型编程与标准库(六)
C++_泛型编程与标准库(六) 图中标红部分为自己的笔记理解 1.iterator几个特定属性 vc2019的链表list迭代器部分代码 // CLASS TEMPLATE _List_iterato ...
- C++_泛型编程与标准库(五)
C++_泛型编程与标准库(五) 图中标红部分为自己的笔记理解 1.容器与容器之间的关系 2.深度探索list list是双向链表,从vc2019的list源码和以下图片都可以看出 template & ...
- C++_泛型编程与标准库(四)
C++_泛型编程与标准库(四) 图中标红部分为自己的笔记理解 1.注意一个特化的typedefine 2.分配器 2.2.VC2019的allocator类 1. allocate调用operator ...
- C++_泛型编程与标准库(三)
C++_泛型编程与标准库(三) 图中标红部分为自己的笔记理解 1.分配器简单测试,后面还会单讲 实测VC2019在Microsoft Visual Studio\2019\Community\VC\T ...
- C++_泛型编程与标准库(二)
C++_泛型编程与标准库(二) 图中标红部分为自己的笔记理解 为什么快?因为是红黑树实现的(高度平衡树)
最新文章
- centos 安装 openfire
- Spartan-6的时钟资源、全局时钟缓冲器/多路复用器
- React Native 实现物流进度信息
- 记一次 IIS 7.0 身份验证相关的问题解决
- mysql11导入数据_MySQL专题11之MySQL导出数据、MySQL导入数据
- luoguP1742 最小圆覆盖
- 算法高级(37)-微信、微博中的好友关系该如何设计?
- FPGA TestBench 计数
- 卧槽!华为工程师总结的Java笔记,太优秀了!
- VLAN(虚拟局域网)
- VMware虚拟机安装ubuntu后无法复制文件的解决办法
- 分享!基于新浪API生成短链接的15个最佳平台
- 外贸管理软件之出口流程整理丨汇信外贸软件
- discuz模板机制
- 【数字图像处理】经典空域滤波算法
- Python + PIL 处理支付宝AR红包
- sfsfdgsdfg
- 利用Lazy简化单例模式的编写
- 三种不同的interrupt方法区别调用
- 毫米波频段射频器件的主要技术工艺趋势
热门文章
- 通信网络基础 ——RIP、OSPF、BGP等协议及模拟实验
- Ubuntu基础学习
- 上海电气和Bentley软件拉升合作挡位 提速奔赴零碳目标
- 【PR 基础】速度/持续时间功能
- 我的世界Bukkit服务器插件开发教程(一)第一个插件
- Django实战之文件上传下载
- 华为手机百度云息屏后停止下载_华为智选车载智慧屏评测,1699元让老汽车进入智能时代...
- L-data和L.data的区别
- 数据结构顺序表中 *L 和 *L
- MusicBrainz Picard for Mac(跨平台音乐标记器)