string DelStr = "I! am! bored!";
string RepStr = "10/07/10"
Run Code Online (Sandbox Code Playgroud)
我要删除所有'!' 在DelStr上我想在RepStr字符串上用' - '替换所有'/'.
有没有办法做这个没有循环来完成每个角色?
Fre*_*Foo 13
删除感叹号:
#include <algorithm>
#include <iterator>
std::string result;
std::remove_copy(delStr.begin(), delStr.end(), std::back_inserter(result), '!');
Run Code Online (Sandbox Code Playgroud)
或者,如果要打印字符串,则不需要result变量:
#include <iostream>
std::remove_copy(delStr.begin(), delStr.end(),
std::ostream_iterator<char>(std::cout), '!');
Run Code Online (Sandbox Code Playgroud)
用短划线替换斜杠:
std::replace(repStr.begin(), repStr.end(), '/', '-');
Run Code Online (Sandbox Code Playgroud)