目录
- erase的简单介绍
- erase的两种用法
- 总结
1.erase的简单介绍
erase翻译过来带有消除的意思,所以在C++的string中可以用来消除单个字符或者长串字符,用起来是非常方便滴^_^
2.erase的两种用法
用法一:例如我想要删除下标为1后的所有字符
#include<iostream> #include<string> using namespace std; int main() { string str = "ABCDE"; str.erase(1); cout << str << endl; return 0; }
这样打印出来的结果就只有A了,因为我是从下标为1的位置开始删除的(第一个下标为0)。
用法二:例如上面举的例子我就想删除ABCDE中的C
#include<iostream> #include<string> using namespace std; int main() { string str = "ABCDE"; str.erase(2, 1); cout << str << endl; return 0; }
前面的数字2表示我想从下标为2的位置开始删除,后面的数字1表示我只删一个数,因此这串代码打印出来的就是ABDE了。逗号前面的数表示从哪个位置开始删,逗号后面的数表示要删多少个数。
3.总结
这是在做蓝桥杯一个删除字符题目所学习到的东西,稍微做一下总结,加深一下印象。顺便附带一下这个题(字符删除)。
题目描述
给定一个单词,请问在单词中删除 t 个字母后,能得到的字典序最小的单词是什么?
输入格式
输入的第一行包含一个单词,由大写英文字母组成。
第二行包含一个正整数 t。
其中,单词长度不超过 100,t 小于单词长度。
输出格式
输出一个单词,表示答案。
输入样例复制
在这里给出一组输入。例如:文章来源:https://www.toymoban.com/news/detail-635483.html
LANQIAO 3
输出样例复制
在这里给出相应的输出。例如:文章来源地址https://www.toymoban.com/news/detail-635483.html
AIAO
#include<iostream> #include<string> using namespace std; int main() { string str; cin >> str; int n; cin >> n; while (n--) { for(int i = 0; i < str.size(); i++) { if (str[i] > str[i + 1]) { str.erase(i, 1);//从第i个数开始,消除1个数,包括i本身 break; } } } cout << str << endl; return 0; }
到了这里,关于C++中erase的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!