C++中要从string的一个对象中删除所有某个特定字符,可用如下代码
str.erase(std::remove(str.begin(),str.end(),'a'),str.end());
那么如果在string中有两个对象,如果要删除对象1中所有的对象2含有的字符,string或者algorithm中是否有现成的函数支持?
而不用再像下面这么麻烦的定义双层循环来删除?
stringstr1,str2;
getline(cin,str1);
getline(cin,str2);
string::iteratorite1;
string::iteratorite2;
for(ite1=str1.begin();ite1!=str1.end();ite1++)
{
for(ite2=str2.begin();ite2!=str2.end();ite2++)
{
if(*ite1==*ite2)
str1.erase(ite1);
}
}
for_each(str1.begin(),str1.end(),fun);
分 -->
|