c++--replace函数


std::string 中的 replace 函数用于替换字符串中的一部分内容。它有多个重载版本,可以用于不同的替换需求。

1.从位置 pos 开始,替换长度为 len 的子字符串为 str。

// void replace(size_t pos, size_t len, const std::string& str);
std::string s = "Hello, world!";
s.replace(7, 5, "C++"); // 从位置7开始,替换长度为5的子字符串为"C++"
// 结果为 "Hello, C++!"

在这里插入图片描述

2.用字符串 str 替换迭代器范围 [i1, i2) 内的内容。

// void replace(const_iterator i1, const_iterator i2, const std::string& str);
std::string s = "Hello, world!";
auto start = s.begin() + 7;
auto end = start + 5;
s.replace(start, end, "C++"); // 用"C++"替换迭代器范围[7, 12)内的内容
// 结果为 "Hello, C++!"

在这里插入图片描述

3.从位置 pos 开始,替换长度为 len 的子字符串为 str 中从 subpos 开始长度为 sublen 的子字符串。

  • pos:要替换的起始位置
  • len:要替换的字符数
  • str:用来替换的字符串
  • subpos:替换字符串的起始位置
  • sublen:替换的字符数
// void replace(size_t pos, size_t len, const std::string& str, size_t subpos, size_t sublen);
std::string s = "Hello, world!";
s.replace(7, 5, "C++ is a programming language", 0, 6);
// 从位置7开始,替换长度为5的子字符串为"C++"
// 结果为 "Hello, C++ is!"

在这里插入图片描述

4.用迭代器范围 [first, last) 内的内容替换迭代器范围 [i1, i2) 内的内容。

// void replace(const_iterator i1, const_iterator i2, InputIt first, InputIt last);
std::string s = "Hello, world!";
std::string new_content = "C++";
s.replace(s.begin() + 7, s.begin() + 12, new_content.begin(), new_content.end());
// 用"C++"替换迭代器范围[7, 12)内的内容
// 结果为 "Hello, C++!"

在这里插入图片描述

何时杖尔看南雪,我与梅花两白头。
2024年3月22日21:00:42

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值