最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ string替換單個(gè)指定字符為其它字符問題

 更新時(shí)間:2023年06月06日 09:35:45   作者:Pisces_224  
這篇文章主要介紹了C++ string替換單個(gè)指定字符為其它字符問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

C++ string替換單個(gè)指定字符為其它字符

C++的string提供了replace方法,實(shí)現(xiàn)字符串的替換。但是涉及到將string串中的某個(gè)字符替換成新的字符的功能,在提供的replace方法中沒有實(shí)現(xiàn)。

在 #include<algorithm> 中也有一個(gè)replace方法,它可以實(shí)現(xiàn)我們想要的。

#include <algorithm>
int main()
{
	string str = "[1,2,3,4,5]";
	cout << str << endl;
	replace(str.begin(), str.end(), ',', ' ');//將逗號(hào)替換為空格
	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(), '\"', '@');//單字符替換-----將雙引號(hào)換成@符

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

/// <summary>
/// 字符串批量替換
/// </summary>
/// <param name="str">輸入的文本</param>
/// <param name="a">目標(biāo)文本</param>
/// <param name="b">替換內(nèi)容</param>
/// <returns>替換好的文本</returns>
std::string spp(std::string str, std::string a, std::string b)
{
	int oldPos = 0;
	while (str.find(a, oldPos) != -1)//在未被替換的文本中尋找目標(biāo)文本
	{
		int start = str.find(a, oldPos);//找到目標(biāo)文本的起始下標(biāo)
		str.replace(start, a.size(), b);
		//從str[start]開始到str[a.size()]替換為b
		//str[start]到str[a.size()]也就是a所在得片段
		oldPos = start + b.size();//記錄未替換文本的起始下標(biāo)
	}
	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;
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

库伦旗| 巴彦淖尔市| 盐池县| 内黄县| 宁强县| 静海县| 镇赉县| 呼玛县| 虎林市| 金平| 凉城县| 南皮县| 伊通| 郁南县| 青冈县| 砚山县| 咸阳市| 广水市| 河东区| 郁南县| 鲜城| 谢通门县| 蓝田县| 七台河市| 绥德县| 铜陵市| 闻喜县| 九江市| 永德县| 古田县| 江门市| 正宁县| 商城县| 中宁县| 西乌珠穆沁旗| 府谷县| 彰化县| 海阳市| 错那县| 河津市| 抚松县|