gpt4 book ai didi

c++ - 我可以用 2 个字符替换字符串中的单个字符吗?

转载 作者:行者123 更新时间:2023-12-04 07:19:25 24 4
gpt4 key购买 nike

#include <algorithm>
#include <string>

void foo(std::string &s) {
replace(s.begin(), s.end(), 'S', 'TH');
}
我要 foo(s)更换每个 Ss带有两个字符 TH .例如
std::string s = "SAT";
foo(s);
std::cout << s << "\n" // THAT
但是, foo的定义给我一个错误。

Error (active) E0304 no instance of function template "std::replace" matches the argument list


为什么这不起作用?

最佳答案

std::replace不能这样做,但您可以使用 std::regex_replace反而。

#include <regex>

std::string s = "SAT";
s = regex_replace(s, std::regex("S"), "TH");
std::cout << s << "\n"; // output: THAT

关于c++ - 我可以用 2 个字符替换字符串中的单个字符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68595106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com