這篇文章主要介紹C++中string常用截取字符串方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創新互聯公司是專業的新和網站建設公司,新和接單;提供成都網站建設、成都網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行新和網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!string常用截取字符串方法有很多,但是配合使用以下兩種,基本都能滿足要求:
find(string strSub, npos);
find_last_of(string strSub, npos);
其中strSub是需要尋找的子字符串,npos為查找起始位置。找到返回子字符串首次出現的位置,否則返回-1;
注:
(1)find_last_of的npos為從末尾開始尋找的位置。
(2)下文中用到的strsub(npos,size)函數,其中npos為開始位置,size為截取大小
例1:直接查找字符串中是否具有某個字符串(返回"2")
std::string strPath = "E:\\數據\\2018\\2000坐標系\\a.shp" int a = 0; if (strPath.find("2018") == std::string::npos) { a = 1; } else { a = 2; } return a;
例2:查找某個字符串的字符串(返回“E:”)
std::string strPath = "E:\\數據\\2018\\2000坐標系\\a.shp" int nPos = strPath.find("\\"); if(nPos != -1) { strPath = strPath.substr(0, nPos); } return strPath;
例3:查找某個字符串中某兩個子字符串之間的字符串(返回“2000坐標系”)
std::string strPath = "E:\\數據\\2018\\2000坐標系\\a.shp" std::string::size_type nPos1 = std::string::npos; std::string::size_type nPos2 = std::string::npos; nPos1 = strPath.find_last_of("\\"); nPos2 = strPath.find_last_of("\\", nPos1 - 1); if(nPos1 !=-1 && npos2 != -1) { strPath = strPath.substr(nPos2 + 1, nPos1 - nPos2 - 1); } return strPath;
提高:遞歸獲取路徑名中的子目錄
//獲取路徑名中的子目錄:strPath為路徑名,strSubPath為輸出的子目錄, nSearch為從尾向前檢索的級別(默認為1級) bool _GetSubPath(std::string& strPath,std::string& strSubPath, int nSearch) { if (-1 == nSearch || strPath.empty()) return false; std::string::size_type nPos1 = std::string::npos; nPos1 = strPath.find_last_of("\\"); if (nPos1 != -1) { strSubPath = strPath.substr(nPos1 + 1, strPath.length() - nPos1); int nNewSearch = nSearch > 1 ? nSearch - 1 : -1; _GetSubPath(strPath.substr(0, nPos1), strSubPath, nNewSearch); } return true; } int main() { std::string strPath = "E:\\數據\\2018\\2000坐標系\\a.shp"; std::string strSubPath = ""; if(_GetSubPath(strPath, strSubPath, 1) { printf(“返回'a.shp'”); } if(_GetSubPath(strPath, strSubPath, 2) { printf(“返回'2000坐標系'”); } }
以上是“C++中string常用截取字符串方法有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯網站建設公司行業資訊頻道!
另外有需要云服務器可以了解下創新互聯建站m.newbst.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:C++中string常用截取字符串方法有哪些-創新互聯
當前網址:http://m.newbst.com/article26/hpdcg.html
成都網站建設公司_創新互聯,為您提供網站建設、網站策劃、網站導航、小程序開發、外貿建站、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯