這篇文章將為大家詳細講解有關(guān)c++中如何實現(xiàn)字符串分割,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
10多年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設,個人網(wǎng)站制作服務,為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設計流程、步驟,成功服務上千家企業(yè)。為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及定制高端網(wǎng)站建設服務,專注于成都企業(yè)網(wǎng)站建設,高端網(wǎng)頁制作,對資質(zhì)代辦等多個行業(yè),擁有豐富的網(wǎng)站維護經(jīng)驗。C++ 中經(jīng)常需要對字符串按照分隔符進行分割以獲得子串序列,子串的順序與其在原字符串中出現(xiàn)的順序一致。一般有兩種需求場景:
(1)給定一個分隔符(單個字符或子串)分割字符串;
(2)給定一個或多個分隔符(單個字符),分割字符串。
當給定的分隔符不在原字符串中,則原字符串不被分割,返回單個元素為原字符串的 vector。
注意,本文實現(xiàn)時,如果被分割后的子串為空串,則不計入最終的子串序列。比如原字符串是"a,b",分隔符為",",那么分割后的子串序列為 [“a”, “b”],而不是 [“a”, “”, “b”]。
1.單個分隔符(單個字符或子串)分割字符串
#include <iostream> #include <vector> #include <string> using namespace std; //@brief: 指定單個分隔符(單個字符或子串)分割字符串 //@param: src 原字符串;delimiter 分隔符,單個字符或子串 vector<string> splitStr(const string& src, const string& delimiter) { std::vector<string> vetStr; // 入?yún)z查 // 1.原字符串為空或等于分隔符,返回空 vector if (src == "" || src == delimiter) { return vetStr; } // 2.分隔符為空返回單個元素為原字符串的 vector if (delimiter == "") { vetStr.push_back(src); return vetStr; } string::size_type startPos = 0; auto index = src.find(delimiter); while (index != string::npos) { auto str = src.substr(startPos, index - startPos); if (str != "") { vetStr.push_back(str); } startPos = index + delimiter.length(); index = src.find(delimiter, startPos); } // 取最后一個子串 auto str = src.substr(startPos); if (str != "") { vetStr.push_back(str); } return vetStr; }
當前標題:c++中如何實現(xiàn)字符串分割-創(chuàng)新互聯(lián)
瀏覽路徑:http://m.newbst.com/article40/dgjseo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、靜態(tài)網(wǎng)站、網(wǎng)站設計公司、App開發(fā)、ChatGPT、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容