【千律】C++基础:string扩展工具箱的使用方法

2023-11-10

#include <vector>
#include <string.h>
#include <windows.h>
#include "string_util.h"
using namespace std;

int main()
{

	// 初始化字符串
	string str_cctry = " Hello, world! My name is cctry.com. ";

	// 去除两端空格
	str_cctry = string_util::trim(str_cctry);
	cout << "输出结果 = " << str_cctry << endl;

	// 字符串翻转
	str_cctry = string_util::reverse(str_cctry);
	cout << "输出结果 = " << str_cctry << endl;
	str_cctry = string_util::reverse(str_cctry);

	// 转换为大写
	string str_cctry_upper = string_util::to_upper_copy(str_cctry);
	cout << "输出结果 = " << str_cctry_upper << endl;

	// 转换为小写
	string str_cctry_lower = string_util::to_lower_copy(str_cctry);
	cout << "输出结果 = " << str_cctry_lower << endl;

	// 截取左侧字符串
	string str_cctry_left = string_util::left(str_cctry, 5);
	cout << "输出结果 = " << str_cctry_left << endl;

	// 截取右侧字符串
	string str_cctry_right = string_util::right(str_cctry, 5);
	cout << "输出结果 = " << str_cctry_right << endl;

	// 截取中间字符串
	string str_cctry_mid = string_util::mid(str_cctry, 8, 5);
	cout << "输出结果 = " << str_cctry_mid << endl;

	// 按照标志提取字符串
	string str_cctry_midlr = string_util::mid_l_r(str_cctry, ".", ".", false, false);
	cout << "输出结果 = " << str_cctry_midlr << endl;

	// 提取字符串的包含子串
	string str_sub_in = string_util::span_including(str_cctry, "lo");
	cout << "输出结果 = " << str_sub_in << endl;

	// 提取字符串的不包含子串
	string str_sub_ex = string_util::span_excluding(str_cctry, "lo");
	cout << "输出结果 = " << str_sub_ex << endl;

	// 判断字符串的起始字符串
	bool str_start = string_util::start_with(str_cctry, "Hello");
	cout << "输出结果 = " << str_start << endl;

	// 判断字符串的终止字符串
	bool str_end = string_util::end_with(str_cctry, "Hello");
	cout << "输出结果 = " << str_end << endl;

	// 判断字符串是否包含字符子串
	bool str_contain = string_util::contain(str_cctry, "world");
	cout << "输出结果 = " << str_contain << endl;

	// 格式化字符串
	string str_format = string_util::format("Hello, %d%s", 2022, "!");
	cout << "输出结果 = " << str_format << endl;

	// 追加格式化字符串
	str_format = string_util::append_format(str_format, " Hello, %d%s", 2022, "!");
	cout << "输出结果 = " << str_format << endl;

	// 替换字符串中的指定字符子串
	string_util::replace_all(str_format, "22", "**");
	cout << "输出结果 = " << str_format << endl;

	// 删除字符串中的指定字符
	string str_erase = string_util::erase(str_format, '*');
	cout << "输出结果 = " << str_erase << endl;

	// 按照指定字符子串分割字符串
	vector<string> str_vector;
	string_util::split(str_format, "! ", str_vector);
	for (int i = 0; i < int(str_vector.size()); i++)
	{
		cout << "输出结果 = " << str_vector[i] << endl;
	}
	
	// 拼接动态数组中的字符串
	string str_join = string_util::join(str_vector, "***");
	cout << "输出结果 = " << str_join << endl;

	// 宽窄字节的相互转换
	wstring str_w = string_util::a2w_string(str_join);
	string str_a = string_util::w2a_string(str_w);
	cout << "输出结果 = " << str_a << endl;

	return 0;
}

 本工具箱由VC驿站提供(VC驿站网址:www.cctry.com) 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【千律】C++基础:string扩展工具箱的使用方法 的相关文章

随机推荐

  • UDP网络基础知识简介

    作者简介 CSDN2021博客之星亚军 新星计划导师 博客专家 哪吒多年工作总结 Java学习路线总结 搬砖工逆袭Java架构师 关注公众号 哪吒编程 回复1024 获取Java学习路线思维导图 大厂面试真题 加入万粉计划交流群 一起学习进
  • OpenGL学习笔记(二)-着色器-纹理

    参考网址 LearnOpenGL 中文版 哔哩哔哩教程 第一章 入门 1 3 着色器 1 3 1 基本结构 利用着色器语言编写着色器 以顶点着色器和片段着色器为例 在着在顶点着色器中输出颜色变量vertexColor 在片段着色器中输入变量
  • JDK 17 营销初体验 —— 亚毫秒停顿 ZGC 落地实践

    前言 自 2014 年发布以来 JDK 8 一直都是相当热门的 JDK 版本 其原因就是对底层数据结构 JVM 性能以及开发体验做了重大升级 得到了开发人员的认可 但距离 JDK 8 发布已经过去了 9 年 那么这 9 年的时间 JDK 做
  • 如何理解凸优化中的共轭函数的定义?

    共轭函数的意义主要就是 一个函数即便不是凸函数 但通过共轭法获得一个凸函数 很方便求解全局最优解的问题 另外 共轭函数亦称对偶函数 极化函数 函数的某种对偶变换 过多的东西我就不再赘述了 此处我是想着重讲一讲为什么共轭函数是可以 保凸 的
  • 中国物流,驶入大航海时代

    出海的一体化 不仅仅是物流的一体化 更是产业链 供应链的一体化 在诸多问题下 想要帮助企业更好地出海 就不能只专注于自身的长板 而是需要先补齐短板 作者 斗斗 编辑 皮爷 出品 产业家 出海时代真的要来了 这种感觉从未如此强烈过 在过去两年
  • React项目中使用svg组件

    使用react svg模块 安装依赖 yarn add D react svg 新建index js文件 import React from react import ReactSVG from react svg function get
  • 【笔记】scanf函数:读取参照getchar()

    Reference 浅谈关于空格和回车对于输入函数的影响 程序猿的探索之路的博客 CSDN博客 c语言scanf输入打空格的影响 Note 回车键 依次包含 LF NL line feed new line 十进制 10 和 CR carr
  • css怎么设置div滚动条

    随着网页及移动端应用的发展 滚动条成为了一种不可或缺的用户体验 而 CSS3 提供的一系列滚动条样式设置使得我们可以更加灵活地定制滚动条的样式 今天我们就来一起探讨一下如何利用CSS来设置div滚动条 一 基础设置 我们在HTML中定义一个
  • 阿里云上传图片的使用,AccessKey查看,入门级别

    阿里云上传图片的使用 可能很多人想上传图片到云端 却连阿里云怎么使用都还不会 我这个是入门级别的教程 一步一步来 我这里先附上我自己的前端上传图片教程代码vue前端直传阿里云 首先就是点击阿里云之后进行注册 注册就不贴了啊 阿里云是可以直接
  • css选择同时有两个类名的标签

    这个技巧比较厉害 记录一下 链接
  • Anaconda查看、创建、切换、删除虚拟环境

    Anaconda查看 创建 切换 删除虚拟环境 参考链接 1 查看已有虚拟环境 在命令行输入以下命令 conda info envs 这里的base 带星号的 代表基层或者当前虚拟环境 paddle是我新建的一个虚拟环境 2 创建新的虚拟环
  • 【微服务部署】五、Jenkins+Docker一键打包部署NodeJS(Vue)项目的Docker镜像步骤详解

    NodeJS Vue 项目也可以通过打包成Docker镜像的方式进行部署 原理是先将项目打包成静态页面 然后再将静态页面直接copy到Nginx镜像中运行 一 服务器环境配置 前面说明了服务器Nginx的安装和配置 这里稍微有些不同 但是因
  • Qlib股票数据获取与查看(Qlib学习1)

    文章目录 Qlib基本信息 数据使用方法 1 借助Qlib下载数据 2 查看相关数据 参考链接 Qlib基本信息 Qlib Github主页 https github com microsoft qlib Qlib quickstart h
  • AngularJS中(function(a,b){})(a,b)立即函数理解

    function window angular document 函数体 window window angular document 一 Scope 我们知道 Javascript是函数作用域 因此 这么写创建了一个 私有作用域 例如 f
  • QNX的license-key,试用qnx入门参考-QNX的密钥账号密码

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 e mail 174176320 qq com 老版本的QNX4 x QNX6 4 可以通过修改时间或重装系统进行继续试用使用 到了新版本
  • QVariant存放QWidget*

    今天看一个开源程序发现有个这样的用法 很新奇 记录一下 include widget h include
  • Docker搭建BWAPP靶场

    buggy web Application 这是一个集成了各种常见漏洞和最新漏洞的开源Web应用程序 目的是帮助网络安全爱好者 开发人员和学生发现并防止网络漏洞 包含了超过100种漏洞 涵盖了所有主要的已知Web漏洞 包括OWASP Top
  • [完整]js实现放大镜效果

    实现 1 小盒子small当鼠标移入 将小img里src赋值给中等框src 将小盒子的src赋值给大盒子的背景 br 2 大盒子的展示与隐藏 经过大盒子展示大盒子 离开大盒子隐藏大盒子 br 3 显示隐藏layer 遮罩层 遮罩层跟随鼠标移
  • unity文字转语音插件(中文版)教程

    插件名RT Voice PRO 2020 4 10 不错的一款插件 我用2020版本UNITY进行测试使用的 可以读英文和中文 想要插件可以关注V公众号 unity风雨路 免费自取 或者直接去csdn下载 链接在这里 RT VoicePRO
  • 【千律】C++基础:string扩展工具箱的使用方法

    include