如何解析字符串并用\.
取代所有出现的东西?然而,在同一时间用\
(文字)..实施例替换所有\\
:解析用户字符串,转义字符
hello \. world
=>hello "." world
hello \\. world
=>hello \. world
hello \\\. world
=>hello \"." world
的第一反应是使用std ::如下所示:
bool escape(false);
std::replace_if(str.begin(), str.end(), [&] (char c) {
if (c == '\\') {
escape = !escape;
} else if (escape && c == '.') {
return true;
}
return false;
},"\".\"");
然而,只是简单地改变\.
由\"."
序列组成。另外它不会在\\
零件中起作用。
有没有一个优雅的方法呢?在我开始用for循环&重建字符串做黑客工作之前?
您应该更换字符串,例如: ''\\\\“ - >”\\“','”\\ x“ - >”x“';不是字符。 – ulidtko
我认为*“带for循环和重建字符串的黑客作业”*将是最不可思议的解决方案。 –