利用boost库进行字符串与文本处理
2011-04-06 17:37
393 查看
利用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的地方
相关文章推荐
- 利用GSON对json数据中的时间类型字符串进行处理,并且进行数据库查询
- Java中利用String类进行文本处理
- 利用python的str.format()对字符串进行格式化处理
- 利用jquery对MVC输出的json对象进行处理,修改日期格式及取字符串的一部分
- android关于文本字符串进行URLEncoder.encode()编码后 空格 回车的处理
- boost库之字符串与文本处理——lexical_cast
- C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示
- 3. 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与
- 将字符串, ;分隔为表进行处理
- 模拟字符串处理函数 stuff 的存储过程,对 ntext 字段进行stuff
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用xslt对xml进行缩进格式化处理
- 12.2.5 处理URL字符串文本
- libxml2 如何进行字符串处理
- Python 利用内置set函数对字符串和列表进行去重
- 在 Perl 中利用 DOM 和 XPath 对 XML 进行有效处理
- 利用JMeter的beanshell进行接口的加密处理
- shell脚本编程 逐行处理文本 将字符串转化为数组
- <NET CLR via c# 第4版>笔记 第14章 字符,字符串和文本处理
- 适合于Unix与Win32下的字符串处理类,可以以此为基类进行扩展