版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
参考链接:https://www.boost.org/doc/libs/1_70_0/doc/html/string_algo/quickref.html
boost::algorithm::string是boost中的一个库, 主要用于字符串的处理。
记录下几个常用的功能以备后查:
#include <vector>
#include <string>
#include <boost/algorithm/string.hpp>
#define _LOG(...) {\
do \
{\
printf(##__VA_ARGS__); \
printf("\n"); \
} while (0); \
}\
void log(const std::vector<std::string> &vec)
{
for (auto &c : vec){
_LOG(c.c_str());
}
}
int main()
{
std::string srcStr = "This is a test demo";
//小写字母转大写
boost::algorithm::to_upper(srcStr);
_LOG(srcStr.c_str());
//大写字母转小写
boost::algorithm::to_lower(srcStr);
_LOG(srcStr.c_str());
//切割字符串(类似strtok)
std::vector<std::string> strVec;
boost::algorithm::split(strVec, srcStr, boost::algorithm::is_any_of(" "));
log(strVec);
//拼接字符串(和split相反)
auto str = boost::algorithm::join(strVec, "-");
_LOG(str.c_str());
//字符串删除指定字符
_LOG(boost::algorithm::trim_copy_if(std::string(" Hello world!"), boost::algorithm::is_any_of(" !")).c_str());
getchar();
return 0;
}
运行结果: