C++ string替換單個(gè)指定字符為其它字符問(wèn)題
C++ string替換單個(gè)指定字符為其它字符
C++的string提供了replace方法,實(shí)現(xiàn)字符串的替換。但是涉及到將string串中的某個(gè)字符替換成新的字符的功能,在提供的replace方法中沒(méi)有實(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]開(kāi)始到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)文章
C++ OpenCV實(shí)現(xiàn)灰度圖蒙版GrayMask的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C++和OpenCV實(shí)現(xiàn)灰度圖蒙版GrayMask,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以參考一下2022-05-05Qt/C++編寫視頻監(jiān)控系統(tǒng)之自定義音柱顯示功能
通過(guò)音柱控件實(shí)時(shí)展示當(dāng)前播放的聲音產(chǎn)生的振幅的大小,得益于音頻播放組件內(nèi)置了音頻振幅的計(jì)算,可以動(dòng)態(tài)開(kāi)啟和關(guān)閉,開(kāi)啟后會(huì)對(duì)發(fā)送過(guò)來(lái)的要播放的聲音數(shù)據(jù),這篇文章主要介紹了Qt/C++編寫視頻監(jiān)控系統(tǒng)之自定義音柱顯示功能,需要的朋友可以參考下2024-01-01函數(shù)指針與指針函數(shù)的學(xué)習(xí)總結(jié)
函數(shù)指針是指向函數(shù)的指針,指針函數(shù)是指一個(gè)函數(shù)的返回值是一個(gè)指針。以下就是對(duì)函數(shù)指針與指針函數(shù)的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07基于C語(yǔ)言實(shí)現(xiàn)隨機(jī)點(diǎn)名器(附源碼)
這篇文章主要為大家詳細(xì)介紹如何基于C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的隨機(jī)點(diǎn)名器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手嘗試一下2022-07-07C語(yǔ)言一看就懂的指針與結(jié)構(gòu)體介紹
指針提供了對(duì)地址操作的一種方法,因此,使用指針可使得C語(yǔ)言能夠更高效地實(shí)現(xiàn)對(duì)計(jì)算機(jī)底層硬件的操作。另外,通過(guò)指針可以更便捷地操作數(shù)組。C數(shù)組允許定義可存儲(chǔ)相同類型數(shù)據(jù)項(xiàng)的變量,結(jié)構(gòu)是C編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許您存儲(chǔ)不同類型的數(shù)據(jù)項(xiàng)2022-04-04淺析C++?atomic?和?memory?ordering
這篇文章主要介紹了C++?atomic?和?memory?ordering的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04