我想删除字符串中的所有数字(最终是所有符号和空格)并保留字符串中的所有字母字符。我最终要做的是从大块文本中搜索回文。
用我现在得到的东西,它会抹去数字;加上被擦除的第一个数字字符之后的所有其他非数字字符。我想知道为什么这样做,以及我能做些什么来让它只擦除数字字符。
#include <iostream>
#include <string>
#include <cctype>
#include <ctype.h>
#include <iterator>
using namespace std;
int main()
{
bool con = true;
while (con == true)
{
cout << "Enter a string: ";
string input;
getline(cin, input);
/** here is where I am attempting to erase all numeric characters in input string**/
for(int i=0; i<input.length(); i++){
if(isdigit(input.at(i))){
string::iterator it;
it=input.begin()+i;
input.erase(i);
break;
}
}
string go;
cout << input << endl;
cout << "Continue? y/n " << endl;
getline(cin, go);
if( go != "y")
con = false;
}
system("pause");
return 0;
}