C++中要從string的一個物件中洗掉所有某個特定字符, 可用如下代碼
str.erase(std::remove(str.begin(), str.end(), 'a'), str.end());
那么如果在string中有兩個物件,如果要洗掉物件1中所有的物件2含有的字符,string或者algorithm中是否有現成的函式支持?
而不用再像下面這么麻煩的定義雙層回圈來洗掉?
string str1, str2;
getline(cin, str1);
getline(cin, str2);
string::iterator ite1 ;
string::iterator ite2 ;
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);
uj5u.com熱心網友回復:
StringReplace(str,"要洗掉的字串","",TReplaceFlags()<<rfReplaceAll);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/42696.html
標籤:數據庫及相關技術
下一篇:三 角 形 面 積.C 語 言
