boost库中字符串算法查找、剪切、替换、删除、合并、大小写转换等详解

 2024-01-18 05:01:52  阅读 0

boost库中字符串算法查找、剪切、替换、删除、合并、大小写转换等详解

零、小订单

字符串操作是每个程序员几乎每天都会做的工作。 字符串操作用于许多开发任务中。 无论是网络通信、界面展示,还是日志编写,大多数程序员都喜欢这么做。 以字符串的形式进行操作。 标准C++已经提供了很多字符串操作的方法,但是还有很多不尽如人意的地方,比如字符串切割、大小写转换、替换、删除等,使用boost来处理会更方便。 boost库提供的支持更加完善。 没有boost库做不到的事,只有你想不到的事!

1. 大小写转换 1. 大小写转换功能

boost提供的大小写转换函数包括boost::::和boost::::、boost::::和boost::::。 第一组大小写转换不会更改原始字符串,但会返回原始字符串的副本。 后一组大小写转换将更改原始字符串的大小写。

细心的朋友会发现,上面两组大小写转换提供了两个参数。 第一个是传入要转换的字符串,第二个是关于区域设置。 这个区域设置一般默认就可以了,除非你开发的软件是区域性的。 例如,如果你开发的软件供外国人使用,你可能需要将其设置为该国家的区旗,以适应该国家的文化需求。

2.大小写代码示例

// BoostStringAlgorithms.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include 
#include 
using namespace std;
using namespace boost;
int main()
{
   
	cout << "-------------------boost库大小写转换------------------" << endl;
	string tmpStrUpper = "HELLO,I'M ISMILELI";
	string tmpStrLower = "hello,i'm ismileli";
	cout << "-------------------打印原来字符串的值------------------" << endl;
	cout << "tmpStrUpper:" << tmpStrUpper << endl;
	cout << "tmpStrLower:" << tmpStrLower << endl;
	cout << "-------------------使用*_copy转换大小写------------------" << endl;
	string upperToLowerStr = boost::algorithm::to_lower_copy(tmpStrUpper);
	string lowerToUpperStr = boost::algorithm::to_upper_copy(tmpStrLower);
	cout << "tmpStrUpper:" << tmpStrUpper << endl;
	cout << "tmpStrLower:" << tmpStrLower << endl;
	cout << "upperToLowerStr:" << upperToLowerStr << endl;
	cout << "lowerToUpperStr:" << lowerToUpperStr << endl;
	cout << "-------------------使用不带后缀*_copy转换大小写------------------" << endl;
	boost::algorithm::to_lower(tmpStrUpper); // 没有返回值
	boost::algorithm::to_upper(tmpStrLower);
	cout << "tmpStrUpper:" << tmpStrUpper << endl;
	cout << "tmpStrLower:" << tmpStrLower << endl;
    std::cout << "Hello World!\n";
	getchar();
}

运行结果:

2.删除 1.删除功能

boost库提供了众多的字符串删除函数,并且提供了很多版本可供使用,比如以i开头的区分大小写,以_copy结尾的不改变原字符串等等,以满足不同用户的需求。 需要。

boost库提供的删除函数如下:

:删除字符串中第一次出现的字符串。

:删除字符串中最后一次出现的字符串。

:删除字符串中第n次出现的字符串。

:删除字符串中所有出现该字符串的地方。

:删除输入的开头。

:删除输入的末尾。

2.删除代码示例

// BoostStringAlgorithms.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include 
#include 
using namespace std;
using namespace boost;
int main()
{
   
	cout << "-------------------boost库字符串删除------------------" << endl;
	string tmpStrErase = "Hello!Hello!I'm ISmileLi!Hello!Hello!I'm ISm

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码