boost常用字符串处理方法学习

工作中经常要用到boost中关于字符串处理的方法,这里做个简单的介绍:

分割字符串:split

	string test1("Hello world, hello programmer");
	vector<string> vec1;
	boost::split(vec1, test1, boost::is_any_of(", "));//支持同时使用多个分割符
	for (vector<string>::const_iterator ite = vec1.begin(); ite != vec1.end(); ++ite)
	{3
		cout << *ite << endl;
	}


输出:
Hello
world

hello
programmer

替换:replace(支持中文替换)

	string test4("这封邮件是来自新西兰的!是我的朋友jim发给我的");
	string str1("新西兰");
	string str2("荷兰");
	boost::replace_first(test4, str1, str2);
	cout << test4 << endl;

输出:

这封邮件是来自荷兰的!是我的朋友jim发给我的

修剪(trim):trim

	string test2("test string ");
	cout << boost::trim_right_copy(test2) << endl;
	string test3("test string;");
	cout << boost::trim_right_copy_if(test2, boost::is_any_of(";")) << endl;


输出:
test string
test string


也可以直接在原始字符串上进行trimming,在一系列trim的方法中,方法名中没有“copy”这个单词的就可以 


合并:join

	string test5("未来总比");
	string test6("现在好");
	//vector<string> vec2{test5, test6};
	vector<string> vec2;
	vec2.push_back(test5);
	vec2.push_back(test6);

	string test7 = boost::join(vec2, string("\t"));
	cout << test7 << endl;

输出:

未来总比	现在好

boost中关于字符串处理的方法还有很多,具体可以参考boost string_algo部分的手册。下面介绍一下string_algo的命名以便阅读手册时候知道方法大致功能:


(上述内容出自《boost程序库完全开发指南》)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值