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

// 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. 百行代码打造一个DI容器(支持瞬时生命周期、单利生命周期、构造函数自动注入、属性自动注入、字段自动注入)...
  2. R语言编程艺术#01#数据类型向量(vector)
  3. C语言字符串中删除重复的字符的算法(附完整源码)
  4. STC12单片机串口U盘测试程序源码
  5. java三路快排,java二路快排很慢
  6. 五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O
  7. 官方文档: Dubbo 框架设计、模块说明、依赖关系
  8. 2015年度夏季假期学习内容
  9. 数据通信技术初级工程师证题库
  10. dede织梦CMS采集过滤规则
  11. libcrypto.so.1.0.0缺失问题
  12. chrome浏览器小恐龙自动跑
  13. 宏碁 Acer AS4738ZG-P622G32Mncc 驱动
  14. 用python创建topo常见问题
  15. 怎么设置计算机网络打印机共享,打印机共享设置,告诉你打印机共享怎么设置...
  16. 5G网络中的缩略语与简写
  17. 找不到位于wsd扫描的计算机,在基于 Windows 的计算机上单击新扫描 Windows 传真和扫描时出现错误消息...
  18. linux ip route 命令详细解释
  19. commvault备份mysql_CommVault备份到华为云对象存储实践
  20. 曾经占据90%市场份额的家校互动平台,为何被小天才打败?

热门文章

  1. NLP自然语言处理学习笔记(十一)(转自咕泡AI)
  2. 操作复杂对象结构——访问者模式(三)
  3. 适合编程初学者练习的两个案例
  4. 深度学习中的超参数以及两个重要的超参数——学习率和batch_size
  5. Ubuntu16.04 下 Anaconda3 安装 Tensorflow-GUP
  6. 初窥OTFS:正交时频空间调制
  7. 如何搭建Tesla Occupancy Network的一个基线?
  8. 你好,区块链操作系统上的完全去中心化国际象棋
  9. Android OTA 相关工具(四) 查看 payload 文件信息
  10. 【NiosII学习】第六篇、从零搭建属于自己的SOPC系统