Boost regex库 中的 split示例

C++ Boost库安装配置与核心组件实战指南 C++标准库为开发者提供了基础功能支持,但在实际工程中常面临功能缺失或跨平台兼容性问题。Boost库作为C++标准库的扩展与试验田,通过提供高质量、经过同行评审的组件填补了这些空白。其设计遵循现代C++理念,采用泛型编程和模板元编程技术,显著提升了代码复用性和可维护性。在技术价值层面,Boost不仅解决了字符串处理、文件系统操作、并发编程等常见痛点,更成为许多C++新标准特性的孵化器,如智能指针、正则表达式等均源自Boost。对于C++开发者而言,掌握Boost意味着能够更高效地处理跨平台路径操作、实现类型 阅读详情
//分开字符串
//编译方法:  g++ -o reg_split  -lboost-regex-gcc reg_split.cpp

#include <list>
#include <boost/regex.hpp>


unsigned tokenise(std::list<std::string>& l, std::string& s)
{
   return boost::regex_split(std::back_inserter(l), s);
}

#include <iostream>
using namespace std;


#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ == 0x550))
//
// problem with std::getline under MSVC6sp3
istream& getline(istream& is, std::string& s)
{
   s.erase();
   char c = is.get();
   while(c != '/n')
   {
      s.append(1, c);
      c = is.get();
   }
   return is;
}
#endif


int main(int argc)
{
   string s;
   list<string> l;
   do{
      if(argc == 1)
      {
         cout << "Enter text to split (or /"quit/" to exit): ";
         getline(cin, s);
         if(s == "quit") break;
      }
      else
         s = "This is a string of tokens";
      unsigned result = tokenise(l, s);
      cout << result << " tokens found" << endl;
      cout << "The remaining text is: /"" << s << "/"" << endl;
      while(l.size())
      {
         s = *(l.begin());
         l.pop_front();
         cout << s << endl;
      }
   }while(argc == 1);
   return 0;
}
【BOOST C++ String 专题01】Boost.StringAlgorithms boost C++对应的字符串对象也有一套标准操作方法。本文介绍库Boost.StringAlgorithms的若干函数和功能示例。 阅读详情

相关推荐

Python自动化批量识别化学分子结构——从图片到SMILES/SDF的实战指南

本文提供了使用Python自动化批量识别化学分子结构图片的实战指南。详细对比了基于Molvec API的在线快速方案与本地部署OSRA工具的两种路径,包含完整的代码示例、环境配置及优化技巧,帮助化学研究者高效地将图片批量转换为SMILES或SDF格式,显著提升数据处理效率。

apple5的专栏 940

Boost库字符串分割split和split_regex

以boost::split(type, select_list, boost::is_any_of(","), boost::token_compress_on);(4)、 boost::token_compress_on:将连续多个分隔符当一个,默认没有打开,当用的时候一般是要打开的。(1)、type类型是std::vector<std::string>,用于存放切割之后的字符串。(3)、boost::is_any_of(","):设定切割符为,(逗号)// 输出分割后的字符串。

qq_38451609的博客 993

驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案

财哥在前段时间发布的《驱动钛丝(SMA)的应用(1)汽车腰托支撑按摩气阀模块》一文,引发了很多企业的拜访和交流。 目前很多厂家已经启动或正在进行相关研发,同时也遇到了诸如:钛丝选型、驱动位移、响应设计、温度控制、力量设计、点动滞后、铆接工艺、量化生产等问题。

weixin_39168671的博客 1239

boost 字符串分割 split, split_regex ; sscanf()

转载地址:https://blog.youkuaiyun.com/gw569453350game/article/details/47400973以多个字符中的任意一个分割(is_any_of),直接上代码:#include &lt;boost/algorithm/string.hpp&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include...

子墨的专栏 3603

Unity 2D精灵点击交互实现:从BoxCollider 2D到Event Trigger的完整指南

本文提供了Unity 2D精灵点击交互的完整实现指南。通过详细拆解BoxCollider 2D与Event Trigger两大核心组件的协同工作原理,手把手教你为Sprite Renderer添加点击、悬停等事件响应。文章包含从基础配置到进阶优化、性能调试的实战步骤,帮助开发者高效实现游戏世界内的对象交互,是Unity 2D开发的实用教程。

ansible6ops的博客 301

COMSOL仿真教程—激光烧蚀

本例使用二维模型,将来自激光的入射热通量模拟为金属表面上空间分布的热源,从而得到金属的烧蚀过程和瞬态温度分布。

qq_40977332的博客 2万+

Boost学习之正则表达式--regex

来源:http://blog.chinaunix.net/uid-21222282-id-1829265.html 来源:http://www.cnblogs.com/undermoon/archive/2009/11/30/1613508.html 来源:http://blog.youkuaiyun.com/guyulongcs/article/details/...

weixin_34148508的博客 549

【论文复现】——基于欧式聚类的车载点云道路提取

针对车载激光点云道路信息提取的问题,提出了一种基于欧式聚类的道路提取方法。首先通过统计滤波去除噪点以免对后续处理结果产生影响,然后用坡度滤波去除路坎点,使道路边界与人行道、绿化带等与路坎相连的地物形成10~25 cm的高程阶跃,最后用欧式聚类将路面点云与其他地物点云聚类为一簇或多簇并保留道路簇,从而实现道路点云的精确提取。

点云侠的博客 1134

C++ Boost split_regex 分割字符串(记录)

#include <boost/regex.hpp> #include <boost/algorithm/string/regex.hpp> std::string text = "Let//me//split//this//into//words"; std::vector<std::string> results; boost::split_regex(results, text, boost::regex("//")...

reyyy的博客 4420

YOLOv12改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是基于StarNet的YOLOv12轻量化改进方法研究。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 1215

5G RF前端架构为什么越来越复杂?从8天线、MIMO、ET、DRX到ACLR/EVM彻底拆开

AdjacentChannelLeakageRatioAdjacentChannelLeakageRatio主信道的功率,有多少泄漏到了隔壁Channel。ACLRPAdjacentPMainACLR=ACLRPMain​PAdjacent​​通常以dBc表达。

weixin_43199439的博客 43

boost中regex的使用

boost是对STL的补充,regex是其中一个模块。各方法类别很多,本文记录常用方法。 引入头文件 1. regex_match regex reg("\\d{3}"); string str = "123"; bool b = regex_match(str,reg); 2.regex_replace(string s, regex e, string t),把s中匹配

文武天下 6570

TDS水质检测传感器原理图设计,已量产(液体传感器)

最近调试了一款针对生活用水、水培系统的 TDS 水质检测模块 —— 毕竟 TDS(总溶解固体)值直接关联水的洁净程度,是这类场景里既实用又易获取的水质指标。下面拆解下这个电路的设计逻辑,说说每个部分是怎么配合实现精准检测的。

不脱发的程序猿 1536

[boost]algorithm-erase_all_regex , split_regrex & regex_match

erase_all_regex split_regex用法

柴米油盐酱醋茶 961

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C++中如何split字符串

毫无疑问,split应该是任何非反人类的标准库编写者都应该提供的功能,因为实在是太常用了。但是不幸的是C++中的string并未提供此功能。诚然实现此功能不难,但为何老是要程序员重复造轮子?     好在boost里提供了几种split字符串的方式。 1)使用boost::split。注意is_any_of的意思是集合中的任何一个,而不是equals的意思,那如何根据字符串split原字符串?请

runyon的博客 2450

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

boost 字符串分割 split, split_regex

以多个字符中的任意一个分割(is_any_of),直接上代码:#include <boost/algorithm/string.hpp> #include <iostream> #include <string> #include <vector>using namespace std; using namespace boost;int main() { string str1("hell

all for one,one for all 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

boost之regex使用范例(wstring 处理经典)

#include <regex> #include <list> 对wchar_t*字符串的search调用方法: boost::wcmatch match; boost::wregex reg(L"\\d{3}你"); boost::regex_search(L"345你好啊!", match, reg); bool mt0 = match[0]....

weixin_30437337的博客 340

Boost::Regex 使用方法 (英文)

摘自:Beyond.the.C.plus.plus.Standard.Library.An.Introduction.to.Boos Usage To begin using Boost.Regex, you need to include the header "boost/regex.hpp". Regex is one of the two libraries (the ot...

weixin_30387663的博客 118

C++ STL与Boost库选型指南:资深工程师的实战经验总结

在C++开发中,标准模板库(STL)和Boost库是两大核心工具集,理解它们的定位差异对项目技术选型至关重要。STL作为C++标准的一部分,提供了容器、算法和迭代器等基础组件,具有极佳的可移植性和性能,是构建可靠软件的首选。其设计遵循最小化和正交化原则,确保了代码的稳定性和跨平台一致性。相比之下,Boost库则扮演着前沿试验场的角色,提供了智能指针、文件系统操作和异步I/O等扩展功能,许多特性后来被纳入C++标准。从工程实践角度看,合理选择工具能显著提升开发效率和代码质量。例如,在内存管理场景中,C++11

weixin_33910385的博客 374

C++ Boost 笔记

C++ Boost介绍:http://club.topsage.com/thread-2276543-1-1.htm C++ Boost用法:http://www.cnblogs.com/wubiyu/archive/2008/11/30/1344093.html   点击打开链接 Linux下如何编译 点击打开链接 *****    切记 编译时候加 -lboost_regex

自然语言处理大菜鸟--HsingWang 1320

boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - youkuaiyun.com

boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - youkuaiyun.com boost:regex分割字符串(带有'\'字符) 分类: C++ 2011-08-31 10:32 727人阅读 评论(0) 收藏 举报regexiterator正则表达式tokenwindowsstring          在实际的应用中,经常用到boost:regex进行...

weixin_34354173的博客 103

解决Boost.Regex对中文支持不好的问题(据此解决全角数字换为半角数字)

解决Boost.Regex对中文支持不好的问题  第一参考段: C/C++ code #include "stdafx.h" #include &lt;cstdlib&gt; #include &lt;stdlib.h&gt; #include &lt;boost/regex.hpp&gt; #include &lt;string&gt;  #include &lt;i...

weixin_34148508的博客 150

Boost和标准库中正则表达式的使用

#include "ReadShp.h" #include #include "boost/regex.hpp" int main() { //ReadShp sh(StringBase(_T("D:\\IP\\J-圏央道(Rev.0.5.01.01)試作データ\\90202_LNND_SPLIT\\khi_road_vectorLine_FeatureV.shp")));

JUSTACES 的博客 914

C++标准库第17章:tuple、bitset、regex与chrono工程实践指南

C++标准库中的tuple、bitset、regex和chrono等设施,是类型安全、位操作、文本解析与时间控制的基础抽象。其设计遵循零成本抽象原则,通过编译期计算、EBO优化与单调时钟保障,在嵌入式、高频交易和工业控制系统中实现毫秒级精度、位级内存压缩与线性匹配性能。这些组件并非语法糖,而是填补C++类型系统结构性缺口的关键工具:tuple支持异构数据原子封装,bitset提供可验证的位级操作语义,regex兼顾安全与裁剪能力,chrono明确区分steady_clock与system_clock适用边界

weixin_30666401的博客 340
上一篇: Linux 下 wxWidgets 安装
下一篇: C++ Boost graph库 广度优先遍历算法示例
RobinKin
博客等级 码龄22年 17粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值