C++中使用erase方法删除字符串的详细解析
创作时间:
作者:
@小白创作中心
C++中使用erase方法删除字符串的详细解析
引用
1
来源
1.
http://www.cdweb.net/article/dsosid.html
在C++编程中,字符串操作是一个基础且重要的技能。本文将详细介绍如何使用erase方法对字符串进行删除操作,包括其函数原型、使用示例以及与其他相关方法的比较。
erase方法原型
basic_string & erase(size_type pos=0, size_type n=npos);
- 从给定起始位置
pos
处开始删除,要删除字符的长度为n
,返回值是修改后的string
对象引用。
示例[1]
#include <iostream>
#include <string>
using namespace std;
int main(){
string str = "hello c++! +++";
// 从位置pos=10处开始删除,直到结尾
// 即: " +++"
str.erase(10);
cout << '-' << str << '-' << endl;
// 从位置pos=6处开始,删除4个字符
// 即: "c++!"
str.erase(6, 4);
cout << '-' << str << '-' << endl;
return 0;
}
输出结果:
-hello c++!-hello c++!
iterator erase(const_iterator position)
- 删除迭代器位置处的单个字符,并返回下一个元素的迭代器。
iterator erase(const_iterator first, const_iterator last)
- 删除迭代器区间
[first, last)
内的所有字符,返回一个指向被删除的最后一个元素的下一个字符的迭代器。
示例[2,3]
#include <iostream>
#include <string>
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;
}
输出结果:
-hello c++!+++-hello c++!
补充说明
除了erase
方法用于删除字符串中的元素外,void pop_back()
方法也可以用来删除元素,但是只能删除字符串的最后一个元素。
查找方法
在使用erase
删除函数的时候,经常会和查找函数一起使用。find
系列方法的参数可以是char
或string
类型,为待查找的目标,返回值为size_type
;当查找不到目标时,返回值为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" << endl;
上述就是如何在C++中利用erase
方法对字符串进行删除的详细说明。希望这些内容能帮助你更好地理解和掌握C++字符串操作。
热门推荐
【特色疗法】揿针,一种无痛的针刺疗法
大腿皮肤表面一摸就疼怎么办?可能原因及处理方法
【植物大课堂】蜈蚣凤尾蕨又成蜈蚣草,它可以治病救人吗
最新!靶向高通量测序技术应用于感染性疾病中国专家共识发布!
王晓松:艺术是对外形象传播和内在文化凝聚的重要一环
全球芝麻生产与研究进展:历史与现状的深度分析
沿三个一号旅游公路 探秘大美三晋
10种常见营养素缺乏时的表现及补充
作为次债务人(第三人),收到法院的协助执行/冻结通知书,应该如何处理?
轻松卸载微软输入法的详细步骤与注意事项指南
红茶种类知多少?哪款是你的心头好?
一个水果店如何运营?深入市场调研,精准店铺定位
小儿脱水性质的判断以及小儿补液原则
一般纳税人企业要交哪些税,如何计算?相关涉税风险分析及案例!
《生生活活》:现代女性的多面人生,勇敢追求自我与幸福
刷了一百遍《西游记》,这段剧情我还是不敢看
如何从品牌创新案例中提炼出可借鉴的经验?
笔记本电脑第一次插网线设置指南:从基础配置到故障排除
SUS420高性能不锈钢材料
2024年养老护理员就业现状与前景分析
5G 第1层 | 5G物理层(PHY层)-射频(RF)处理原理解析
行业催化不断 低空经济板块投资机遇值得期待
海南3人食用野生癞蛤蟆中毒,1人死亡2人仍在救治
中国骨关节炎指南(2024版):推荐早期及轻度阶段干细胞治疗
Lisa《白莲花度假村》第三季泰国风情造型曝光,引发热议
标准天数工资计算方法
好照片的标准是什么?浅谈优秀摄影作品的 10 个特征
自然语言处理应用模型的现状与未来发展探讨
属马起名用什么字比较好
强基计划、综合评价、高校专项有何异同?哪种更适合考生报考