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

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日

相关文章

  • 小米5S手机如何开启开发者选项?

    以下是小米5S手机开启开发者选项的详细攻略: 1. 进入手机设置 首先,你需要打开你的小米5S手机,并进入手机的“设置”选项。 2. 找到“关于手机” 在手机设置中,向下滚动屏幕,找到并点击“关于手机”。 3. 进入“版本号” 在“关于手机”的界面中,向下滚动屏幕,找到“版本号”并点击几次。系统会弹出类似“你已经进入了开发者模式”的提示。 4. 返回“设置”…

    other 2023年6月26日
    00
  • visualc++buildtools的安装与使用

    以下是“Visual C++ Build Tools的安装与使用的完整攻略”的标准markdown格式文本,其中包含了两个示例: Visual C++ Build Tools的安装与使用完整攻略 Visual C++ Build Tools是一款用于编译C++代码的工具集,可以在Windows系统上使用。以下是Visual C++ Tools的安装与使用的步…

    other 2023年5月10日
    00
  • SpringBoot中的Bean的初始化与销毁顺序解析

    SpringBoot Bean的初始化与销毁顺序 在SpringBoot应用中,Bean的初始化与销毁顺序是至关重要的,因为在应用启动时,Bean可能需要被预先初始化或是进行一些特定操作,如数据库连接池的初始化等;在应用关闭时,Bean的销毁也同样重要,因为一些资源可能需要在应用关闭前被清理掉,如数据库连接的销毁等。SpringBoot提供了多种方式来实现B…

    other 2023年6月20日
    00
  • MySql约束超详细介绍

    MySql约束超详细介绍 在 MySQL 中,约束是用于强制实施数据完整性的规则。MySQL 的约束有多种类型,分别是主键、唯一、非空、默认和外键。下面将详细介绍这些类型的约束及其使用。 主键约束 主键约束是一组列或单列,其值标识表中每个记录的唯一性。创建主键会自动创建唯一索引,因此不允许在表中有重复值或NULL值。主键可由用户创建或由系统自动创建。 用户创…

    other 2023年6月25日
    00
  • javascript-什么是window.onunload?

    以下是关于“javascript-什么是window.onunload?”的完整攻略,包括window.onunload的基本知识、使用方法和两个示例等。 window.onunload的基本知识 window.onunload是JavaScript中的一个事件处理程序,它在窗口或框架被卸载时触发。当用户关闭浏览器窗口、导航到其他页面或刷新页面时,窗口或框架…

    other 2023年5月7日
    00
  • torrent是什么文件?怎么打开?

    Torrent是什么文件?怎么打开? Torrent是一种用于下载和共享文件的协议和文件类型。它允许用户通过将文件分成小块并从多个来源下载这些块来实现高速下载。Torrent文件本身是一个包含元数据的小文件,其中包含了指向实际文件的链接、文件大小、文件名和其他相关信息。 要打开Torrent文件并开始下载文件,您需要遵循以下步骤: 选择Torrent客户端软…

    other 2023年8月5日
    00
  • navicate12激活教程(完整详细版)

    以下是关于Navicat 12激活教程的完整攻略,包括基本概念、步骤和两个示例说明。 Navicat 12激活教程的基本概念 Navicat是一款流行的数据库管理工具,可以连接多种数据库,包括MySQL、Oracle、PostgreSQL等。Navicat 12激活教程是指如何使用注册码或破解工具激活Navicat 12以获得完整的功能和无限制的使用时间。 …

    other 2023年5月7日
    00
  • C++动态数组类的封装实例

    下面我会详细讲解关于“C++动态数组类的封装实例”的完整攻略。 1. 背景介绍 在 C++ 中,原生的数组容量是固定的,一旦定义了大小就无法修改;而动态数组则允许在运行时根据需要动态的分配和释放内存,其容量也可以被动态的改变,因此动态数组类在 C++ 中封装及应用十分常见。 2. 算法设计 动态数组类的封装基本上涉及以下的核心内容: 2.1 成员变量 由于动…

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