這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在c++ 中利用erase方法對string進(jìn)行刪除,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于婁星網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供婁星營銷型網(wǎng)站建設(shè),婁星網(wǎng)站制作、婁星網(wǎng)頁設(shè)計、婁星網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造婁星網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供婁星網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。erase方法原型
1. basic_string & erase(size_type pos=0, size_type n=npos);
即從給定起始位置pos處開始刪除, 要刪除字符的長度為n, 返回值修改后的string對象引用
示例[1]
#include#include using namespace std; int main(){ string str = "hello c++! +++"; // 從位置pos=10處開始刪除,直到結(jié)尾 // 即: " +++" str.erase(10); cout << '-' << str << '-' << endl; // 從位置pos=6處開始,刪除4個字符 // 即: "c++!" str.erase(6, 4); cout << '-' << str << '-' << endl; return 0; }
輸出
2. iterator erase(const_iterator position)
刪除迭代器位置處的單個字符, 并返回下個元素的迭代器
3. iterator erase(const_iterator first, const_iterator last)
刪除迭代器[first, last)區(qū)間的所有字符,返回一個指向被刪除的最后一個元素的下一個字符的迭代器.
示例[2,3]:
#include#include using namespace std; int main(){ string str = "hello c++! +++"; // 刪除"+++"前的一個空格 str.erase(str.begin()+10); cout << '-' << str << '-' << endl; // 刪除"+++" str.erase(str.begin() + 10, str.end()); cout << '-' << str << '-' << endl; return 0; }
輸出
補(bǔ)充
除了erase方法用于刪除string中的元素, void pop_back();方法也可以用來刪除元素, 但是只能刪除string的最后一個元素
查找方法
在使用erase刪除函數(shù)的時候,經(jīng)常會和查找函數(shù)一起使用
*find*(**)系列方法參數(shù)可以是char 或者 string 類型, 為待查找的目標(biāo), 返回值為 size_type;當(dāng) 查找不到目標(biāo)時,返回值為 npos, 可以這樣判斷
string longer("That's a funny hat."); //size_type loc1 = longer.find("hat"); // 存在 size_type loc1 = longer.find("hello"); //不存在 if (loc1 == string::npos) cout<< "not found" <上述就是小編為大家分享的如何在c++ 中利用erase方法對string進(jìn)行刪除了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:如何在c++中利用erase方法對string進(jìn)行刪除-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/dsosid.html