详解C++字符串常用操作函数(查找、插入、截取、删除等)

yizhihongxing

C++字符串是编程中常用的数据类型之一,字符串常用的操作函数有很多,本文一一介绍并附带示例,内容包括字符串的查找、插入、截取、删除等操作:

1. 查找

字符串查找操作有几个函数可以使用:find()rfind()find_first_of()find_last_of()find_first_not_of()find_last_not_of()。主要区别是查找的方向、开始查找的位置和查找的规则。

1.1 find

find(const string& str, size_t pos = 0) const,该函数用于查找字符串中与指定参数的所有字符序列相匹配的第一个位置。如果未找到,则返回-1。

示例:

string s = "hello world";
int index = s.find("world"); // 返回6

1.2 rfind

rfind(const string& str, size_t pos = npos) const,该函数用于查找从指定位置开始往前的所有字符序列与指定字符串相匹配的最后一个位置。如果未找到,则返回-1。

示例:

string s = "hello, world, world";
int index = s.rfind("world"); // 返回15

2. 插入

C++字符串插入操作有两个函数可以使用:insert()replace()

2.1 insert

insert(size_t pos, const string& str),该函数用于在指定位置之前插入一个字符串。如果pos的值超过了字符串的长度,则在字符串末尾插入。

示例:

string s = "hello";
s.insert(5, " world"); // s变为"hello world"

2.2 replace

replace(size_t pos, size_t len, const string& str),该函数用于从指定位置开始替换指定长度的子串。

示例:

string s = "hello, world";
s.replace(7, 5, "Justin"); // s变为"hello, Justin"

3. 截取

C++字符串截取操作有两个函数可以使用:substr()erase()

3.1 substr

substr(size_t pos = 0, size_t len = npos) const,该函数用于从指定位置开始截取指定长度的子串。如果pos的值超过了字符串的长度,则返回空字符串。

示例:

string s = "hello, world";
string sub = s.substr(7, 6); // sub变为"world"

3.2 erase

erase(size_t pos = 0, size_t len = npos),该函数用于删除指定位置和长度的子串。

示例:

string s = "hello, world";
s.erase(7, 5); // s变为"hello, "

4. 删除

C++字符串删除操作只有一个函数可以使用:erase(),操作同上。

示例:

string s = "hello, world";
s.erase(7, 6); // s变为"hello,"

以上就是C++字符串常用操作函数的介绍,希望能够对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C++字符串常用操作函数(查找、插入、截取、删除等) - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • centos7安装node.js

    CentOS 7安装Node.js攻略 Node.js是一种基于Chrome V8引擎的JavaScript运行环境,可用于构建高性能、可伸缩的网络应用程序。本攻略将详细介绍在CentOS 7上装Node.js的步骤和注意事项。 步骤1:安装Node.js 在CentOS7上安装Node.js,可以通过以下步骤来完成: 打开终端,使用以下命令安装Node.j…

    other 2023年5月6日
    00
  • 快音如何查看版本号?快音查看版本号方法

    快音如何查看版本号?快音查看版本号方法攻略 快音是一款音频处理软件,可以用于编辑和处理音频文件。如果你想查看快音的版本号,可以按照以下步骤进行操作: 打开快音软件:在你的电脑上找到快音的图标,双击打开软件。 导航到菜单栏:在快音的界面上,你会看到一个位于顶部的菜单栏。 点击“帮助”选项:在菜单栏中,找到一个名为“帮助”的选项,点击它。 选择“关于”:在弹出的…

    other 2023年8月3日
    00
  • 解决IDEA target文件夹越来越大的问题

    当你使用IntelliJ IDEA进行开发时,每次编译、运行或者打包都会生成一些临时文件或者输出文件。这些文件会保存在项目的target文件夹中,如果不及时清理,会导致这个文件夹越来越大,最终影响到项目的构建和性能。因此,我们需要解决这个问题,让target文件夹始终保持干净和精简。下面是我总结的解决IDEA target文件夹越来越大的问题的完整攻略: 攻…

    other 2023年6月26日
    00
  • mysqltinyint范围

    以下是关于MySQL中TINYINT类型的范围的完整攻略: TINYINT类型的范围 TINYINT是MySQL中的一种整数类型,它占用1个字节(8位),可以存储范围为-128到127的整数。如果使用UNSIGNED关键字,可以存储范围为0到255的整数。 示例1:创建TINYINT类型的列 以下是一个示例,演示如何在MySQL中创建一个TINYINT类型的…

    other 2023年5月6日
    00
  • js继承的6种方式详解

    以下是js继承的六种方式的详细攻略。 1. 原型链继承 原型链继承是JavaScript中最基本的继承方式之一,它通过将父类的实例对象作为子类的原型对象来实现继承。这种方式的缺点是,所有子类实例对象共享同一个原型对象,当父类原型对象中的引用类型属性被修改时,所有子类实例对象中对应属性的值都会同时改变,这个缺点也被称之为“原型污染”问题。 示例代码如下: fu…

    other 2023年6月27日
    00
  • Kotlin Navigation可视化开发详解

    Kotlin Navigation可视化开发详解攻略 介绍 Kotlin Navigation是一种用于Android应用程序的可视化开发工具,它可以帮助开发者更轻松地管理应用程序的导航和页面之间的跳转。本攻略将详细介绍如何使用Kotlin Navigation进行可视化开发,并提供两个示例说明。 步骤 步骤一:添加依赖 首先,您需要在项目的build.gr…

    other 2023年7月27日
    00
  • 前端JS图片懒加载原理方案详解

    前端JS图片懒加载原理方案详解 什么是图片懒加载? 图片懒加载指的是在网页的滚动过程中,将未出现在视窗内的图片延迟加载,等到图片即将进入到可视区域时再将其加载。相对于一开始就加载所有图片的方式,图片懒加载能很大程度地减少页面渲染时的负担,节省带宽资源。 为什么需要图片懒加载? 随着富媒体网站的发展,页面上的图片数量越来越多,而把所有图片一开始就加载出来很容易…

    other 2023年6月25日
    00
  • Win11右键菜单怎么变回去?Win11右键菜单改回Win10教程

    针对Win11右键菜单改回Win10的问题,我们可以按照以下的步骤来进行操作。 方法一:使用注册表修改 打开“运行”对话框。可以使用快捷键Win+R打开运行对话框或者在开始菜单中搜索“运行”。 输入regedit并回车,打开注册表编辑器。 在注册表编辑器中,依次展开以下路径查找指定项: HKEY_CURRENT_USER\Software\Classes\C…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部