替换由谓词确定的std :: string中的字符最常用的方法是什么?

gsf*_*gsf 0 c++ string stl

如果我有一个字符串abc12df34,我想用#替换说数字并接收abc##df##.

这样做的最直接的方法是什么?

Jts*_*Jts 9

据我说,这将是:

http://ideone.com/bcd20z

int main()
{
    std::string s = "abc12df34";
    std::replace_if(s.begin(), s.end(), [](char c) { return isdigit(c); }, '#');
    std::cout << s << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)