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++字符串操作。
热门推荐
《熊出没:重启未来》躺平摆烂,拱手让出超十亿的票房市场
房卡打不开门是为什么
房卡刷不开门的原因及使用注意事项
悲喜并存,四代EGFR抑制剂——黑暗中的一丝曙光!
豆浆在早餐中的搭配建议与选择
低GI饮食:科学减重的新选择
钙化性肌腱炎怎么锻炼
扁平足怎么锻炼
天线信号弱如何解决?如何提升车载收音机的接收效果?
涿鹿之战的历史意义与深远影响
《国王与冒险家》怪物属性全解析及应对策略攻略
长平之战:战国时期规模最大、影响最深远的战役
我国对于近亲结婚是如何规定的
单词 toggle 的含义和使用场景介绍
项目愿景规划怎么写
鱼池风水全攻略:方位、形状、大小到日常维护
劳动仲裁开庭答辩技巧
特殊对仗的律诗
北京地铁建设最新消息!
酒精会在体内停留多久?有没有加速清醒的方法?
身体出现6类症状,小心肝炎!远离4个传播途径,做好预防
病毒性肝炎,可防可治!
纯植物染发剂配方比例
重磅!个税扣除范围扩大!(2025最新最全个税税率表)
V6发动机的优秀之处有哪些
中央企业数智化薪酬信息系统建设如何实现穿透式监管?
2025高考生高考作弊要坐牢吗?
春分:昼夜平分天地和美
买保险要注意哪些条款与误区
汤用彤:会通中西的国学大师