string中erase的使用(c++)
1.删除从index开始的n个字符---->str.erase(index,n); |
函数原型 string& erase ( size_t pos = 0, size_t n = npos );
例:
(1)删除从index开始的n个字符
string str = "0123456789";
cout << "删除前的字符串----->" << str << endl;
str.erase(2,2);
cout << "删除后的字符串----->" << str << endl;
结果:
(2)如果不写默认删除从index开始到结束的字符串
string str = "0123456789";
cout << "删除前的字符串----->" << str << endl;
str.erase(2);
cout << "删除后的字符串----->" << str << endl;
结果:
2.删除index处的一个字符---->str.erase(index); |
函数原型 iterator erase ( iterator position );
例:
string str = "0123456789";
cout << "删除前的字符串----->" << str << endl;
str.erase(str.begin() + 2);
cout << "删除后的字符串----->" << str << endl;
结果:
3.删除从first到last之间的字符---->str.erase(first,last);(包括开始,不包括结尾) |
函数原型 iterator erase ( iterator first, iterator last );
例:
string str = "0123456789";
cout << "插入前的字符串----->" << str << endl;
str.erase(str.begin()+2,str.begin()+4);
cout << "插入后的字符串----->" << str << endl;
结果: