不是很清楚C++中string如何删除元素,现在记录一下。
一、介绍
erase一共三种用法:
- erase(size_type pos=0, size_type n=npos):删除从下标pos开始的n个字符,比如erase(0,1)就是删除第一个字符(默认删除全部字符)
- erase( std::iterator position):删除postion处的一个字符(position是一个string类型的迭代器)
- erase(std::iterator first,std::iterator last):删除从first到last之间的字符(first和last都是迭代器)
二、实例
方法一的实例
string str = "helmyo";
str.erase(0,1);//从索引0开始,删除一个字符,elmyo
//str.erase(0,3);//从索引0开始,删除三个字符,myo
//str.erase(1);//从索引1开始,删除所有字符,h
//str.erase(3,2);//从索引3开始,删除两个字符helo
方法二的实例
string str = "helmyo";
str.erase(str.begin()+2);//删除索引为2的字符,hemyo
方法三的实例
string str = "helmyo";
str.erase(str.begin(), str.begin()+2);//删除[0,2)区间的字符,lmyo
参考:
https://blog.csdn.net/fyf18845165207/article/details/82729704
https://blog.csdn.net/u010472607/article/details/80431604