c++快速替換字串指定字元
阿新 • • 發佈:2018-12-21
專案中偶爾要用到替換指定字元的功能,因為不常用每次一用到的就去官方文件看,總得花點兒時間感覺不是那麼好用,自己想了個辦法,可能效能不是最好的但我感覺應該是最直觀明瞭的;以下是實現:
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int main(){ std::string str("123 232 434 65r"); //替換所有空格 std::vector<char> vec_str = std::vector<char>(std::make_move_iterator(str.begin()), std::make_move_iterator(str.end()));//move 如果不用 make_move_iterator 則是copy std::for_each(vec_str.begin(), vec_str.end(), [](char& c){ if (c == ' ')c = '_'; }); str = std::string(std::make_move_iterator(vec_str.begin()), std::make_move_iterator(vec_str.end())); std::cout << str << std::endl; return 0; }