c++ string split function
C++ string Function split
2023-09-14 08:58:44 时间
#include <string>
#include <vector>
#include <regex>
struct SplitListItem
{
std::string key;
std::string value;
};
std::vector<SplitListItem> splitString(std::string origenString, std::regex pattern)
{
std::smatch result;
std::string::const_iterator iterStart = origenString.begin();
std::string::const_iterator iterEnd = origenString.end();
std::vector<std::string> splitList = {};
std::vector<std::string> splitKeys = {};
std::vector<SplitListItem> resultSplitList = {};
while (regex_search(iterStart, iterEnd, result, pattern))
{
splitList.emplace_back(iterStart, result[0].first);
splitKeys.push_back(result[0].str());
iterStart = result[0].second;
}
splitList.emplace_back(iterStart, iterEnd);
for (size_t i = 0; i < splitList.size(); i++)
{
resultSplitList.push_back(SplitListItem{ i > 0 ? splitKeys[i - 1] : "", splitList[i] });
}
return resultSplitList;
}
std::vector<SplitListItem> r = splitString("game.exe+009E820C+4+8-4", (std::regex)"[+-]");
for (size_t i = 0; i < r.size(); i++)
{
std::cout << r[i].key << std::endl;
std::cout << r[i].value << std::endl;
}
vector<string> string_split(string str, regex reg)
{
smatch m;
string::const_iterator iterStart = str.begin();
string::const_iterator iterEnd = str.end();
vector<string> resultSplitList = {};
while (regex_search(iterStart, iterEnd, m, reg))
{
resultSplitList.emplace_back(iterStart, m[0].first);
iterStart = m[0].second;
}
resultSplitList.emplace_back(iterStart, iterEnd);
return resultSplitList;
}
string_split(str, regex("\\s+"));
相关文章
- java string 转 object_java 类型转换 Object和String互转
- c++之数据处理笔记(一)
- C++精通之路:红黑树的概念和实现方法的解析
- java把string转int类型_java把String类型转换为int类型的方法
- C++的string转换成int
- C++结构体和类的区别_c++有结构体吗
- C++字符串加密_c++字符串连接函数
- 【C++初阶】STL-string的使用
- c++字符串
- 面试高频问题之C++编译过程
- 【C++ 语言】C++字符串 ( string 类 | 创建方法 | 控制台输出 | 字符串操作 | 栈内存字符串对象 | string* )
- 【OpenGL】一、Visual Studio 2019 创建 Windows 桌面程序 ( Visual Studio Installer 安装 C++ 桌面开发库 | 创建桌面程序 )
- CLion 2023 Mac版-最好的C++ IDE下载
- C++类的定义和使用
- C++类模板(模板类)与友元详解
- C++ partial_sort(STL partial_sort)排序算法详解
- C++光标定位函数详解
- 达内2014C++教程【13.9G】
- MySQL中String的使用方法和注意事项(mysql中string)
- 深入C++浮点数无效值定义与判定的解决办法
- 用C++实现DBSCAN聚类算法
- 浅谈C++中的string类型占几个字节
- 关于C++中的static关键字的总结
- c++中的string常用函数用法总结
- C++模板类的用法实例