boost库之字符串处理(三)
一、字符串大小写转换
Boost字符算法库Boost.StringAlgorithms提供了很多字符串操作函数,字符串的类型可以是std::string,std::wstring,或者是任何模板类std::basic_string的实例。这些函数分类别在不同的头文件定义,例如大小写转函数定义在文件boost/algorithm/string/case_conv.hpp,为了方便起见,头文件boost/algorithm/string.hpp包含了所有其他的头文件,后面的所有实例都会使用这个头文件。
#include <iostream> #include <boost/algorithm/string.hpp> int main() { std::string s = "Hello World"; std::cout << boost::algorithm::to_upper_copy(s) << std::endl; std::cout << boost::algorithm::to_lower_copy(s) << std::endl; return 0; }
函数boost::algorithm::to_upper_copy用于转换一个字符串为大写形式,boost::algorithm::to_lower_copy用于转换一个字符串为小写形式。
打印结果:

二、字符串删除
#include <iostream> #include <boost/algorithm/string.hpp> int main() { std::string s = "Hello World"; /* 删除首次匹配的字符 */ std::cout << "删除首次匹配的字符:" << boost::algorithm::erase_first_copy(s, "l") << std::endl; /* 删除第n个匹配项的字符 */ std::cout << "删除第n个匹配项的字符:" << boost::algorithm::erase_nth_copy(s, "e", 0) << std::endl; /* 删除最后匹配的字符 */ std::cout << "删除最后匹配的字符:" << boost::algorithm::erase_last_copy(s, "l") << std::endl; /*删除所有匹配的字符*/ std::cout << "删除所有匹配的字符:" << boost::algorithm::erase_all_copy(s, "l") << std::endl; /*从头部删除若干字符串*/ std::cout << "从头部删除若干字符串:" << boost::algorithm::erase_head_copy(s, 2) << std::endl; /*从尾部删除若干字符串*/ std::cout << "从尾部删除若干字符串:" << boost::algorithm::erase_tail_copy(s, 2) << std::endl; return 0; }
打印结果:
