如何解析字符串並用\.
取代所有出現的東西?然而,在同一時間用\
(文字)..實施例替換所有\\
:解析用戶字符串,轉義字符
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循環和重建字符串的黑客作業」*將是最不可思議的解決方案。 –