boost::algorithm::string学习小记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/auccy/article/details/98475510

参考链接: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;
}

运行结果:

猜你喜欢

转载自blog.csdn.net/auccy/article/details/98475510