9.5.2

来源:互联网 发布:cloudify 教程 ubuntu 编辑:程序博客网 时间:2024/05/22 01:33

9.43

void replace_with(string &s, string const& oldVal, string const& newVal){    for (auto cur = s.begin(); cur <= s.end() - oldVal.size(); )        if (oldVal == string{ cur, cur + oldVal.size() })            cur = s.erase(cur, cur + oldVal.size()),            cur = s.insert(cur, newVal.begin(), newVal.end()),            cur += newVal.size();        else              ++cur;}

9.44

void replace_with(string &s, string const& oldVal, string const& newVal){    for (size_t pos = 0; pos <= s.size() - oldVal.size();)        if (s[pos] == oldVal[0] && s.substr(pos, oldVal.size()) == oldVal)            s.replace(pos, oldVal.size(), newVal),            pos += newVal.size();        else            ++pos;}

9.45

auto add_pre_and_suffix(string name, string const& pre, string const& su){    name.insert(name.begin(), pre.cbegin(), pre.cend());    return name.append(su);}

9.46

auto add_pre_and_suffix(std::string name, std::string const& pre, std::string const& su){    name.insert(0, pre);    name.insert(name.size(), su);    return name;}
0 0
原创粉丝点击