boost string_algo简明使用
来源:互联网 发布:钢结构设计软件下载 编辑:程序博客网 时间:2024/05/30 04:42
string_algo库是一个非常全面的字符串算法库,提供了大量的字符串操作函数,如大小写无关比较,修剪,特定模式的子串查找等,可以再不使用正则表达式的情况下处理大多数字符串相关问题。弥补了std::string的一些短处。
#include <boost/algorithm/string.hpp>#include <iostream>#include <vector>void SimpleUse(){using namespace boost;using namespace std;string str("readme.txt");if (ends_with(str, "txt")){cout << to_upper_copy(str) + " UPPER" << endl;}replace_first(str, "readme", "followme");cout << str << endl;vector<char> v(str.begin(), str.end());vector<char> v2 = to_upper_copy(erase_first_copy(v, "txt"));for (int i = 0; i < v2.size();i++) {cout << v2[i]; }cout << endl;}void Upper_Lower(){using namespace boost;using namespace std;string str("I Don't Know!");cout << to_upper_copy(str) << endl;cout << str << endl;;to_lower(str);cout << str << endl;;}void Predicates_use(){using namespace boost;std::string str("I Don't Know!");assert(!starts_with(str, "i"));assert(istarts_with(str, "i"));assert(ends_with(str, "now!"));assert(icontains(str, "don't"));std::string str2 = to_lower_copy(str);assert(iequals(str, str2));assert(!ilexicographical_compare(str, "a"));std::string str3 = "THIS is upper";assert(all(str3.substr(0,4),is_upper()));}int main(int argc,char * argv[]){SimpleUse();Upper_Lower();Predicates_use();std::cin.get();return 0;}
结果:
详细参考:http://www.boost.org/doc/libs/1_55_0/doc/html/string_algo/reference.html
0 0
- boost string_algo简明使用
- boost::string_algo
- boost string_algo
- Boost string_algo
- boost.string_algo - 字符串算法库 使用点滴
- boost::string_algo详解1
- boost string_algo库
- boost库之string_algo
- boost::string_algo详解1
- 【Boost】boost::string_algo详解1
- boost-string_algo字符串算法库
- boost测试——string_algo(zz)
- boost.string_algo 字符串算法的类库
- boost xpressive库和string_algo库
- 【Boost】boost::string_algo详解2——find相关函数
- 【Boost】boost::string_algo详解5——erase相关函数
- 【Boost】boost::string_algo详解6——replace相关函数
- 【Boost】boost::string_algo详解7——join的应用
- 在LoadRunner中录制下载文件
- Android在CMD中输入adb命令,提示“'adb' 不是内部或外部命令,也不是可运行的程序”的解决方法
- 广义欧几里得除法求sa+tb=(a,b)
- Android获取系统cpu信息,内存,版本,电量等信息
- mybatis 连接 sql server 2008
- boost string_algo简明使用
- Cracking the Coding Interview 150题(一)
- Android下如何获取CPU序列号
- 画布
- 内部类区别和用例
- XCODE6中使用iOS7 SDK的方法
- HDU 2089 不要62(数位DP)
- 谁说开源不能赚钱?
- 你知道Objective-C中一个很重要的数据类型Block的基本用法吗???