博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用boost库拆分字符串
阅读量:6657 次
发布时间:2019-06-25

本文共 1419 字,大约阅读时间需要 4 分钟。

作者:朱金灿

来源:

 

          在日常开发中经常会遇到分割字符串的要求,boost库为我们提供了一个方便的分词器——boost::tokenizer。现在就让我们学习一下boost库的分词器。

#include 
#include
#include
#include
#include
int _tmain(int argc, _TCHAR* argv[]){ // 待分割的字符串 std::string strTag = _T("I Come from China"); // 定义分割方式为英文逗号,中文逗号和空格,构造一个分词器, boost::char_separator
sep(" ,,"); typedef boost::tokenizer
> CustonTokenizer; CustonTokenizer tok(strTag,sep); // 输出分割结果 std::vector
vecSegTag; for(CustonTokenizer::iterator beg=tok.begin(); beg!=tok.end();++beg) { vecSegTag.push_back(*beg); } for (size_t i =0;i

        

         但是boost::tokenizer的一个缺点是它不支持分割unicode字符串。所以要分割unicode字符串我们需要使用boost库提供的另一个接口——boost::split。它的使用比boost::tokenizer还要方便,请看下面代码:

#include 
#include
#include
#include
#include
int _tmain(int argc, _TCHAR* argv[]){ std::wcout.imbue(std::locale("chs")); // 待分割的字符串 std::wstring strTag = _T("I Come from China"); std::vector
vecSegTag; // boost::is_any_of这里相当于分割规则了 boost::split(vecSegTag, strTag,boost::is_any_of(_T(" ,,"))); for (size_t i =0;i

      如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动投我一票:

(单击候选人介绍下面的投他一票那个按钮)
参与投票有机会获奖:
     最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
    幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
    积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。

转载于:https://www.cnblogs.com/lanzhi/archive/2012/04/30/6470807.html

你可能感兴趣的文章
外部中断实验
查看>>
从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
查看>>
HDU 1428 漫步校园 (BFS+优先队列+记忆化搜索)
查看>>
Sensor types
查看>>
CodeForces 35D Animals
查看>>
Atitit.工作流 与 规则引擎
查看>>
文字排版--斜体(font-style)
查看>>
使用ImageView
查看>>
sn 密钥注册
查看>>
IntelliJ IDEA安装、配置、测试
查看>>
[React] Using the classnames library for conditional CSS
查看>>
JStorm环境搭建
查看>>
代码保存好
查看>>
iOS: 字体样式
查看>>
hadoop程序MapReduce之MaxTemperature
查看>>
面试题16:反转链表
查看>>
iOS开发基础知识--碎片22
查看>>
【最终幻想15 国王之剑】制作介绍2:最大限度满足角色,背景和道具的要求
查看>>
Selenium Web 自动化 - 项目实战环境准备
查看>>
mysql乱码
查看>>