搜索指定字符串,并以新字符串替换
void replaceStr(string &s, string &oldStr, string &newStr) {
for (
string::iterator itr = s.begin();
itr != s.end();
++itr
)
{
if (*itr == oldStr[0]) {
auto tmpItr = itr;
int cnt = 0;
for (
string::iterator subItr = oldStr.begin();
subItr != oldStr.end();
++subItr
)
{
if (*tmpItr == *subItr) { ++tmpItr; ++cnt; continue; }
else { break; }
}
if (cnt == oldStr.size()) {
s.replace(itr - s.begin(), oldStr.size(), newStr);
itr += newStr.size();
}
}
}
}