C++ string替换单个指定字符为其它字符问题

 更新时间:2023年06月06日 09:35:45   作者:Pisces_224  
这篇文章主要介绍了C++ string替换单个指定字符为其它字符问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C++ string替换单个指定字符为其它字符

C++的string提供了replace方法,实现字符串的替换。但是涉及到将string串中的某个字符替换成新的字符的功能,在提供的replace方法中没有实现。

在 #include<algorithm> 中也有一个replace方法,它可以实现我们想要的。

#include <algorithm>
int main()
{
	string str = "[1,2,3,4,5]";
	cout << str << endl;
	replace(str.begin(), str.end(), ',', ' ');//将逗号替换为空格
	cout << str << endl;
}

[1,2,3,4,5]

[1 2 3 4 5]

C++ std::string 字符串替换

std::string里面std::replace只有单字符替换

std::replace(str.begin(), str.end(), '\"', '@');//单字符替换-----将双引号换成@符

如果有字符串替换的话需要配合find()使用

/// <summary>
/// 字符串批量替换
/// </summary>
/// <param name="str">输入的文本</param>
/// <param name="a">目标文本</param>
/// <param name="b">替换内容</param>
/// <returns>替换好的文本</returns>
std::string spp(std::string str, std::string a, std::string b)
{
	int oldPos = 0;
	while (str.find(a, oldPos) != -1)//在未被替换的文本中寻找目标文本
	{
		int start = str.find(a, oldPos);//找到目标文本的起始下标
		str.replace(start, a.size(), b);
		//从str[start]开始到str[a.size()]替换为b
		//str[start]到str[a.size()]也就是a所在得片段
		oldPos = start + b.size();//记录未替换文本的起始下标
	}
	return str;
}
int main()
{
    std::string str = "{\"QQ1\":123,\"QQ2\":123,\"QQ3\":123}";
    str = spp(str, "123", "321");
    std::cout << str << std::endl;
    str = spp(str, "\"", "\\\"");
    std::cout << str << std::endl;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++ OpenCV实现灰度图蒙版GrayMask的示例代码

    C++ OpenCV实现灰度图蒙版GrayMask的示例代码

    这篇文章主要为大家详细介绍了如何利用C++和OpenCV实现灰度图蒙版GrayMask,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以参考一下
    2022-05-05
  • C语言排序之 堆排序

    C语言排序之 堆排序

    这篇文章主要介绍了C语言排序之堆排序,文章基于C语言的相关资料展开详细内容,具有一定的参考资料,需要的小伙伴可以参考一下
    2022-04-04
  • Qt/C++编写视频监控系统之自定义音柱显示功能

    Qt/C++编写视频监控系统之自定义音柱显示功能

    通过音柱控件实时展示当前播放的声音产生的振幅的大小,得益于音频播放组件内置了音频振幅的计算,可以动态开启和关闭,开启后会对发送过来的要播放的声音数据,这篇文章主要介绍了Qt/C++编写视频监控系统之自定义音柱显示功能,需要的朋友可以参考下
    2024-01-01
  • QT中几种常用的排序函数用法总结

    QT中几种常用的排序函数用法总结

    Qt是目前最先进、最完整的跨平台C++开发工具,下面这篇文章主要给大家介绍了关于QT中几种常用的排序函数用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 详解C语言编程中预处理器的用法

    详解C语言编程中预处理器的用法

    这篇文章主要介绍了C语言编程中预处理器的用法,包括介绍了C和C++混合编程的情况,需要的朋友可以参考下
    2016-02-02
  • 函数指针与指针函数的学习总结

    函数指针与指针函数的学习总结

    函数指针是指向函数的指针,指针函数是指一个函数的返回值是一个指针。以下就是对函数指针与指针函数的应用进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • C语言进阶:指针的进阶(2)

    C语言进阶:指针的进阶(2)

    这篇文章主要介绍了C语言指针详解及用法示例,介绍了其相关概念,然后分享了几种用法,具有一定参考价值。需要的朋友可以了解下
    2021-09-09
  • 基于C语言实现随机点名器(附源码)

    基于C语言实现随机点名器(附源码)

    这篇文章主要为大家详细介绍如何基于C语言实现一个简单的随机点名器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手尝试一下
    2022-07-07
  • C语言一看就懂的指针与结构体介绍

    C语言一看就懂的指针与结构体介绍

    指针提供了对地址操作的一种方法,因此,使用指针可使得C语言能够更高效地实现对计算机底层硬件的操作。另外,通过指针可以更便捷地操作数组。C数组允许定义可存储相同类型数据项的变量,结构是C编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项
    2022-04-04
  • 浅析C++ atomic 和 memory ordering

    浅析C++ atomic 和 memory ordering

    这篇文章主要介绍了C++ atomic 和 memory ordering的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论