string a;
int c[20]={0}
string b[20]={""};
int j=0,m=0;
bool b_str=false;bool b_int = false;
for(int i=0;i<a.length();i++)
{
if(a[i]>='a' &&a[i]<= 'z')
{
if(b_str)
{
b[j] = b[j] +a[i] ;
}
else
{
b[j] = a[i];
b_str = true;
}
if(b_int)
{
++m;
b_int = false;
}
}
else if(a[i] >= '0' && a[i]<= '9')
{
if(b_int)
{
c[m] = c[m]* 10 +a[i]-'0';
}
else
{
c[m] = a[i] -'0';
b_int = true;
}
if(b_str)
{
++j;
b_str = false;
}
}
else
{
}
}
你也可以添加一些其他代表,最终可以把 数字,英文字符,和以外的字符分开并存入3个数组