利用boost库进行字符串与文本处理
来源:互联网 发布:大数据时代在线 编辑:程序博客网 时间:2024/05/29 07:47
利用BOOST库处理字符串与文本
背景描述
字符串与文本的处理一直是C++的弱项,虽然C++98提供了一个标准字符串处理里std::string,但是任缺乏很多文本处理的高级特征,如正则表达式和分词,使得不少C++程序员不得不求租与其他语言(如perl,python)。
BOOST库填补了这个空白,boost中有5个主要的字符串与文本处理的程序库。loxical_cast(字符串与数值转换), format(格式化输出), sting_alog(提供了大量的字符串处理函数), tokenizer(分词器), xpressive(正则表达式分析器).
loxical_cas
include<boost/loxical_cast.hpp>
using namespace boost;
try{
int i=loxical_cast<int>("1000");
}
catch(bad_loxical_cast& e){
cout<<"error: "<<e.what()<<endl;
}
format
#include<boost/format.hpp>
using namespace boost;
cout<<format("%s:%d+%d=%d")%"sum" %2 %3 %5<<endl;
format fmt("%1%+%2%=%3%");
fmt %2 %5;
fmt %7;
cout<<fmt.str();
%05d 输出宽度为5的整数,不足位用0补充
%-8.3f 输出左对其宽度为8,小数位为3的浮点数
% 10s 输出10位数的字符串,不足位用空格补齐
string_algo
#include<boos/algorithm/string.hpp>
using namespace boost;
to_uper();
to_lower();
to_lower_copy();
starts_with();
ends_with();
contians(str1,str2);
is_uper();
tirm_if(str, is_idgit());
find_nth(str,"abc",2);查找第三次出现abc的地方
- 利用boost库进行字符串与文本处理
- boost库之字符串与文本处理——lexical_cast
- Boost学习笔记 -- 字符串与文本处理
- boost 字符串与文本处理 -> lexical_cast
- boost——字符串与文本处理string_algo(一)
- boost——字符串与文本处理format
- boost——字符串与文本处理string_algo(二)
- boost——字符串与文本处理tokenizer
- Boost 学习笔记--->字符串&文本处理
- Boost库之字符串处理
- C++ boost 组件简介:字符串及文本处理
- 利用Boost库进行序列化
- Java中利用String类进行文本处理
- 文本(字符串)处理与正则表达式
- boost库简介之:字符串处理一
- boost 字符串和文本处理库概述
- Boost库的字符串处理算法
- (三)Boost库之字符串处理
- 中国剩余定理
- java 获取页面编码
- 用urlrewrite及mapping方式实现静态化
- C语言面试题大汇总
- HTTP协议状态码详解(HTTP Status Code)
- 利用boost库进行字符串与文本处理
- [转]C++底层
- @override出错
- PSAC中的overview与summary——DO-178B/ED-12B学习笔记之十二
- JSP中输出Excel表格
- 此博已封,转向cnblogs(www.cnblogs.com/slave_wc)
- 一个小程序,用来复习虚函数,构造,析构函数
- 保障房体系应以“广覆盖低标准”为目标 穆利堂推荐
- Oracle如何查看隐含参数