要注意:string类型的迭代器和数字是不一样的
1.首先是删除该位置的字符:
s.erase(string::iterator it);//删除it 位置的字符
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str="asddffggh";
str.erase(str.begin() +1);
cout<<str<<endl;
return 0;
}
//输出addffggh
2.删除一段的内容:
s.erase(s.first,s.last),删除first-last之间的所有元素
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str="asddffggh";
int len=str.length() ;
str.erase(str.begin() +1,str.end() );
cout<<str<<endl;
return 0;
}
//输出a
3.删除某位置 后一段长度的元素:
s.erase(int a,int n)
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str="asddffggh";
int len=str.length() ;
str.erase(0,3);
cout<<str<<endl;
return 0;
}
//输出dffggh
4.s.erase(); //全部删除
5.s.erase(5); //从位置5开始删除到末尾
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string str="asddffggh";
int len=str.length() ;
str.erase(3);
cout<<str<<endl;
return 0;
}
//输出asd