当要删除字符串中的特定字符时,只需要用find()和erase()两个函数搭配使用即可,find()用于找到特定字符的位置,而erase()则用于删除该位置上的字符。
- find(c,pos)表示从pos这个位置开始找c字符
- erase(pos,n)表示从pos这个位置开始删除n个字符
例如下面就是我写的一个删除输入字符串中所有字符“a”的代码。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
cin >> s;
int p;
while ((p = (s.find("a"))) != s.npos) {
s.erase(p, 1);
}
cout << s;
return 0;
}
/*
输入:
dksjaaanfkjeianvnklsdnafejf;aaa
输出:
dksjnfkjeinvnklsdnfejf;
*/