Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【C++】STL 容器 - string 字符串操作 ⑥ ( string 字符替换 - replace 函数替换字符串 | string 字符交换值 - swap 函数交换字符串 )

【C++】STL 容器 - string 字符串操作 ⑥ ( string 字符替换 - replace 函数替换字符串 | string 字符交换值 - swap 函数交换字符串 )

作者头像
韩曙亮
发布于 2023-12-18 04:52:43
发布于 2023-12-18 04:52:43
4.1K15
代码可运行
举报
运行总次数:5
代码可运行
文章目录

  • 一、string 字符替换 - replace 函数替换字符串
    • 1、string 类 replace 函数原型说明
    • 2、代码示例 - 字符串替换
  • 二、string 字符交换值 - swap 函数交换字符串
    • 1、string 类 swap 函数原型说明
    • 2、代码示例 - swap 函数交换值

一、string 字符替换 - replace 函数替换字符串


1、string 类 replace 函数原型说明

replace 函数简介 : 该函数 的作用是 从位置 pos 开始 , 替换长度为 n 的 子字符串 为 s , 如果 s 的长度与 n 不相等 , 那么原字符串的其余部分也会相应地移动 ;

  • 首先 , 删除从 pos 开始的 n 个字符 ;
  • 然后 , 在 pos 处插入 字符串 s ;

replace 函数原型 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string& replace(int pos, int n, const char* s);
string& replace(int pos, int n, const string& s);
  • 参数说明 :
    • pos : 要替换的子字符串的起始位置 , 位置从 0 开始计数 ;
    • n : 要替换的子字符串的长度 ;
    • s : 要替换为的新字符串 ;
  • 返回值说明 : 返回一个指向修改后的字符串的引用 ; 返回的仍然是 字符串 本身 ,

2、代码示例 - 字符串替换

在下面的代码中 , 删除从 0 位置开始的 3 个字符 , 然后在 0 位置处插入 Jack 字符串 , 最终返回的 string& 类型的引用 就是 原字符串的引用 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	// 删除从 0 位置开始的 3 个字符
	// 然后在 0 位置处插入 Jack 字符串
	// 返回的索引仍然是字符串本身
	string s2 = s1.replace(0, 3, "Jack");

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "iostream"
using namespace std;
#include "string"

int main() {

	string s1 = "Tom And Jerry, Hello World, Tom !";

	// 删除从 0 位置开始的 3 个字符
	// 然后在 0 位置处插入 Jack 字符串
	// 返回的索引仍然是字符串本身
	string s2 = s1.replace(0, 3, "Jack");

	// 打印 s1 和 返回的字符串
	cout << "s1 = " << s1 << endl;
	cout << "s2 = " << s2 << endl;


	// 控制台暂停 , 按任意键继续向后执行
	system("pause");

	return 0;
};

执行结果 :

s1 = Jack And Jerry, Hello World, Tom ! s2 = Jack And Jerry, Hello World, Tom ! 请按任意键继续. . .

二、string 字符交换值 - swap 函数交换字符串


1、string 类 swap 函数原型说明

string 类 swap 函数 原型 : 该函数会交换 当前字符串 和 参数 s2 的内容值 , 在交换过程中 , 两个字符串的内容会相互交换 , 但它们在内存中的位置保持不变 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void swap(string& s2);

参数说明 : s2 参数 是 与 当前字符串进行交换的另一个字符串 ;

2、代码示例 - swap 函数交换值

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "iostream"
using namespace std;
#include "string"

int main() {

	string s1 = "Tom And Jerry";
	string s2 = "Hello World";

	// 交换 s1 与 s2 的值
	s1.swap(s2);

	// 打印 s1 和 s2 值
	cout << "s1 = " << s1 << endl;
	cout << "s2 = " << s2 << endl;


	// 控制台暂停 , 按任意键继续向后执行
	system("pause");

	return 0;
};

执行结果 :

s1 = Hello World s2 = Tom And Jerry 请按任意键继续. . .

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
string& replace(int pos, int n, const char* s); 这个跑不通啊
string& replace(int pos, int n, const char* s); 这个跑不通啊
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
【C++】STL 容器 - string 字符串操作 ⑦ ( 字符串区间删除 - erase 函数 | 字符串插入 - insert 函数 | 字符串截取子串 - substr 函数 )
string 类 erase 函数原型 : 该函数 是 string 类的成员函数 , 其作用是 从位置 pos 开始 , 删除长度为 n 的子字符串 , 如果 n 的值超过了字符串的长度 , 那么整个字符串都会被删除 ;
韩曙亮
2023/12/18
2.7K0
【C++】STL 容器 - string 字符串操作 ⑦ ( 字符串区间删除 - erase 函数 | 字符串插入 - insert 函数 | 字符串截取子串 - substr 函数 )
【C++】STL 容器 - string 字符串操作 ⑤ ( string 字符串查找 | find 函数查找字符串 | rfind 函数查找字符串 )
string 类 find 函数查找字符串 : string 类的 find 函数除了可以查找单个字符外 , 还可以查找子字符串 , 如果没有查到就返回 -1 ;
韩曙亮
2023/12/18
3.4K0
【C++】STL 容器 - string 字符串操作 ⑤ ( string 字符串查找 | find 函数查找字符串 | rfind 函数查找字符串 )
【C++】STL 容器 - string 字符串操作 ④ ( string 字符串连接 | 字符串重载函数 - operator+= 函数 | append 函数 )
下面函数的作用是 将 字符串 s 连接到 当前 string 类型字符串对象 的结尾 , char* 类型字符串 和 string 类型字符串都可 ;
韩曙亮
2023/12/18
4640
【C++】STL 容器 - string 字符串操作 ④ ( string 字符串连接 | 字符串重载函数 - operator+= 函数 | append 函数 )
【C++】STL 容器 - string 字符串操作 ① ( string 字符串 简介 | string 字符串 与 char* 字符串 对比 | string 构造函数 )
C++ 语言 的 标准模板库 ( STL , Standard Template Library ) 中的 std::string 是一个类 , 该类封装了 字符串 的数据和操作 ;
韩曙亮
2023/12/18
4380
【C++】STL 容器 - string 字符串操作 ① ( string 字符串 简介 | string 字符串 与 char* 字符串 对比 | string 构造函数 )
【C++】STL 容器 - string 字符串操作 ⑧ ( string 字符串相关算法 | 字符串转换 - std::transform 函数 | 字符串翻转- std::reverse 函数 )
C++ 的 std::transform 函数是 <algorithm> 头文件中的一个通用算法 , 用于对指定范围内的元素进行转换 ;
韩曙亮
2023/12/18
1.2K0
【C++】STL 容器 - string 字符串操作 ⑧ ( string 字符串相关算法 | 字符串转换 - std::transform 函数 | 字符串翻转- std::reverse 函数 )
【C++】 —— string的使用
std::basic_string类是C++的一个模版类,它支持多种字符类型。
星辰与你
2024/10/17
910
【C++】 —— string的使用
【C++】string类(接口使用详解 下)
但是头插和中间插入的使用需谨慎,我们学过顺序表可以知道,头插或者中间插入需要把后面的数据都往后移动,如果空间不够还要扩容。
羚羊角
2024/10/21
950
【C++】string类(接口使用详解 下)
【C++】STL 容器 - string 字符串操作 ③ ( string 字符串 与 char* 字符串转换 | string#c_str() 成员函数 | string#copy() 成员函数 )
在 C++ 语言中的 std::string 类中 , 封装了一个 c_str() 成员函数 , 用于返回一个指向字符串内容的常量字符指针 ;
韩曙亮
2023/12/18
2K0
【C++】STL 容器 - string 字符串操作 ③ ( string 字符串 与 char* 字符串转换 | string#c_str() 成员函数 | string#copy() 成员函数 )
C++STL容器string
例如:查找find,拷贝copy,删除delete 替换replace,插入insert
CtrlX
2022/09/26
2550
【C++】STL--string(下)
1. 在string尾部追加字符时,s.push_back(c) / s.append(1, c) / s += 'c'三种的实现方式差 不多,一般情况下string类的+=操作用的比较多,+=操作不仅可以连接单个字符,还可 以连接字符串。
用户11375356
2024/11/22
490
【C++】STL--string(下)
【深入探索 C++ STL 容器 string】——字符串世界里的神奇魔法棒
https://legacy.cplusplus.com/reference/stl/?kw=stl
换一颗红豆
2024/12/20
1050
【深入探索 C++ STL 容器 string】——字符串世界里的神奇魔法棒
【C++】string类(下)
s.begin()代表开头的位置,s.begin()+5代表1的位置,在1之前插入字符!
lovevivi
2023/04/20
3700
【C++】string类(下)
C++效率掌握之STL库:string函数全解
string作为一个类也有构造函数,析构函数,=运算符重载,我们重点介绍构造函数里的功能
DARLING Zero two
2025/02/05
2200
C++效率掌握之STL库:string函数全解
C++奇迹之旅:string类对象的修改操作
用法:通过在当前值的末尾附加其他字符来扩展字符串:可以追加这string对象,字符串,字符 例子:
学习起来吧
2024/05/07
1200
C++奇迹之旅:string类对象的修改操作
【c++】string类常见接口函数
字符串类是basic_string类模板的一个实例化,它使用char(即字节)作为其字符类型,并使用默认的char_traits和分配器类型
用户11029103
2024/04/16
1450
【c++】string类常见接口函数
字符串操作的全面总结
字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较。
C语言与CPP编程
2020/12/02
6500
字符串操作的全面总结
字符串中符号的替换---replace的用法
1 #include<iostream> 2 #include<string> 3 4 using namespace std; 5 6 int main() 7 { 8 string s1 = "one*two*three";//Given String 9 string s2 = "*";//delimeter 10 string s3 = ",";//string to replace 11
猿人谷
2018/01/17
3.7K0
字符串中符号的替换---replace的用法
字符串操作的全面总结
字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较。
C语言与CPP编程
2020/10/25
5670
【C++】—掌握STL string类:字符串操作的得力助手
string是STL(标准模板库)中的字符串类型,用于表示和操作字符串数据。它是一个类,封装了char*字符指针,并管理该字符串的内存分配和释放,用户无需担心内存管理问题。
_孙同学
2024/10/30
1230
C++中string常用方法总结
📝前言: STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。今天就让我们先学习STL中的重要容器之一——string(文中表粗为重要用法)
用户11029137
2025/03/16
530
C++中string常用方法总结
推荐阅读
【C++】STL 容器 - string 字符串操作 ⑦ ( 字符串区间删除 - erase 函数 | 字符串插入 - insert 函数 | 字符串截取子串 - substr 函数 )
2.7K0
【C++】STL 容器 - string 字符串操作 ⑤ ( string 字符串查找 | find 函数查找字符串 | rfind 函数查找字符串 )
3.4K0
【C++】STL 容器 - string 字符串操作 ④ ( string 字符串连接 | 字符串重载函数 - operator+= 函数 | append 函数 )
4640
【C++】STL 容器 - string 字符串操作 ① ( string 字符串 简介 | string 字符串 与 char* 字符串 对比 | string 构造函数 )
4380
【C++】STL 容器 - string 字符串操作 ⑧ ( string 字符串相关算法 | 字符串转换 - std::transform 函数 | 字符串翻转- std::reverse 函数 )
1.2K0
【C++】 —— string的使用
910
【C++】string类(接口使用详解 下)
950
【C++】STL 容器 - string 字符串操作 ③ ( string 字符串 与 char* 字符串转换 | string#c_str() 成员函数 | string#copy() 成员函数 )
2K0
C++STL容器string
2550
【C++】STL--string(下)
490
【深入探索 C++ STL 容器 string】——字符串世界里的神奇魔法棒
1050
【C++】string类(下)
3700
C++效率掌握之STL库:string函数全解
2200
C++奇迹之旅:string类对象的修改操作
1200
【c++】string类常见接口函数
1450
字符串操作的全面总结
6500
字符串中符号的替换---replace的用法
3.7K0
字符串操作的全面总结
5670
【C++】—掌握STL string类:字符串操作的得力助手
1230
C++中string常用方法总结
530
相关推荐
【C++】STL 容器 - string 字符串操作 ⑦ ( 字符串区间删除 - erase 函数 | 字符串插入 - insert 函数 | 字符串截取子串 - substr 函数 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验