c++ - 用字符串c ++中的双反斜杠替换单个反斜杠
问题描述
我正在尝试用两个反斜杠替换一个反斜杠。为此,我尝试使用以下代码
str = "d:\test\text.txt"
str.replace("\\","\\\\");
代码不起作用。整个想法是传递str
给deletefile
函数,这需要双黑斜线。
解决方案
从 c++11 开始,您可以尝试使用正则表达式
#include <regex>
#include <iostream>
int main() {
auto s = std::string(R"(\tmp\)");
s = std::regex_replace(s, std::regex(R"(\\)"), R"(\\)");
std::cout << s << std::endl;
}
有点矫枉过正,但诀窍是你想要一个“快速”的解决方案
推荐阅读
- python - 如何使用 Python 异步运行终端命令?
- validation - Pentaho 数据验证器错误:找不到指定的字段名进行验证
- azure-active-directory - 带有 Azure AD 的 AWS Cognito 每次都会得到不匹配的回复 URL
- python - 在 Python 中实现没有库的图
- aspxgridview - 如何填充 dx 组合框取决于另一个 dx 组合框
- arduino - Adafruit Flora 分线板和 SI1445
- python - 如何将 statsmodels 公式和参数保存为文本以供以后进行预测?
- python - 如何使用Python Regex查找所有首字母为大写的单词
- python - 使用 CSV 的第一行作为嵌套字典中的键?
- javascript - 我对如何将数据发送到 enpoint 有疑问