boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET
boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET
boost:regex分割字符串(带有'\'字符)
分类: C++ 2011-08-31 10:32 727人阅读 评论(0) 收藏 举报regexiterator正则表达式tokenwindowsstring在实际的应用中,经常用到boost:regex进行字符串的分割,特别是windows下的路径字符串的分割,由于windows的路径字符串带有特殊字符'\',boost:regex需要对此进行特殊处理,下面举例说明,分割字符串的正则表达式如下:
boost::regex reg("\\\\");
由于反斜杠对于c++字符和regex来说都是特殊字符,因而需要转义两次,才能正确执行。
完整代码如下:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <boost/regex.hpp>using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<std::string> vec;
std::string s = "F:\\OtherProjects\\BasePlatForm\\C21\\SMC\\Backend\\Src";
try
{
boost::regex reg("\\\\");
boost::sregex_token_iterator it(s.begin(),s.end(),reg,-1);
boost::sregex_token_iterator end;while(it != end)
{
vec.push_back(*it++);
}}
catch(boost::regex_error &err)
{
cout<<err.what()<<endl;
cin.get();
return 0;
}
catch(...)
{
cout<<"error"<<endl;
cin.get();
return 0;
}
assert(vec.size() == std::count(s.begin(),s.end(),'//')+1);for(int i =0;i<vec.size();i++)
{
cout<<vec[i]<<endl;
}cin.get();
return 0;
}希望本文能给有同样问题的人,有点帮助~~~
boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET相关推荐
- javadoc时候乱码-编码 GBK 的不可映射字符 - wqjsir的专栏 - 博客频道 - CSDN.NET
javadoc时候乱码-编码 GBK 的不可映射字符 - wqjsir的专栏 - 博客频道 - CSDN.NET 在eclipse中导出工程的doc时,有时会出现GBK的不可映射字符异常.这是应为我们 ...
- boost计算随机数和计算crc32简单示例 - jwybobo2007的专栏 - 博客频道 - CSDN.NET
boost计算随机数和计算crc32简单示例 - jwybobo2007的专栏 - 博客频道 - CSDN.NET boost::crc_32_type crc32; crc32.process_by ...
- 编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET
编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET 编写字符串反转函数 分类: 笔试面试题 2010-11-07 20:47 863人阅读 评论(0) 收藏 举报 首先用 ...
- 转载:利用正则表达式排除特定字符串 - 薰衣草的旋律 - 博客园
转载:利用正则表达式排除特定字符串 - 薰衣草的旋律 - 博客园 https://www.cnblogs.com/wangqiguo/archive/2012/05/08/2486548.html 阅 ...
- boost 正则 分割字符串
参考链接 正则30分钟 boost_regex boost.cc #include <iostream> #include <boost/regex.hpp>using nam ...
- C#中分割字符串输出字符数组
C#中Split用法~ 1.用字符串分隔: using System.Text.RegularExpressions; string str="aaajsbbbjsccc"; s ...
- C#网络编程(异步传输字符串) - Part.3[转自JimmyZhang博客]
源码下载:http://www.tracefact.net/SourceCode/Network-Part3.rar C#网络编程(异步传输字符串) - Part.3 这篇文章我们将前进一大步,使用异 ...
- 如何设置省略号对其序号 html,html 用css实现table中超长字符串省略号表示 - 天天好心情 - 博客园...
最近学习样式,想用样式来控制GridView中超长字符的省略显示,可是网上从后台的方式是在让我诟病,当然,个人喜好问题:P 由于GridView最终是Table形式输出,于是从table实现该样式找 ...
- 如何一次性复制带有markdown/mathjax/latex的博客内容
现在人工智能越来越火爆,任何博客动不动就就要写一堆公式,无奈的是却没法一次性复制下来. 怎么办呢? 看到公式后右键选择MathML,如下: 然后一次性复制即可. 但是呢,上述方法有一个问题就是必须是对 ...
最新文章
- python发明者叫什么-编程语言简史:有人不喜欢花括号,于是他发明了 Python
- 【Linux开发】彻底释放Linux线程的资源
- mac php7 mysql 扩展_升级到php7和安装拓展(mac centos)
- AQS.transferForSignal
- 团队行为心理学读书笔记(6)沟通背后的行为心理学
- java语言中json转换,JSON字符串和JAVA语言对象的相互转换教程
- Eclpise 和 MyEclipse 的区别
- php 改变页面元素,动态更改网页HTML元素(对象)内容_经验交流
- 用jk触发器构成二分频电路_模拟电路,电子电路,二极管,放大电路
- 通过代码触发dropdownlist_SelectedIndexChanged事件。
- 关于Parse库的配置问题
- Excel 曝Power Query安全漏洞
- SAP中检验计划创建晚于检验批导致无法质检的问题分析处理
- 草图大师:SketchUp 2019 for Mac
- java逻辑删除代码_MyBatis-Plus之逻辑删除的实现
- speedoffice表格如何全选表格
- 自制BSL编程MSP430单片机
- 并行查询的执行计划解读
- 埃森哲java转sfdc_【SFDC salesforce职责】2021年埃森哲SFDC salesforce岗位职责-看准网...
- linux中清除git记住密码的方法
热门文章
- 大数据_Flink_Java版_数据处理_流处理API_Transform(3)_Reduce聚合算子---Flink工作笔记0031
- Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022
- 关于HTML5中meta name=“viewport“ 的用法---web前端工作笔记014
- 基于Session的认证方式_实现会话功能_Spring Security OAuth2.0认证授权---springcloud工作笔记117
- WebStorm学习笔记001---webstorm-删除项目 两种方法
- maven 打包javadoc乱码解决方案
- lua调用shell 脚本
- mysql自动更新时间的触发器
- VC下ctreectrl的使用方法及节点前图标添加方法
- ftk学习记(滑动条篇)