我想用 C# 替换 a 。我无法使用 Regex.Replace 函数作为 follos 来实现这一点
正则表达式.Replace(html, "\\"", "\"");
再次执行此命令会产生原始输出
任何人都已经遇到过这样的问题,任何帮助将不胜感激。
问候,甘尼桑
我想用 C# 替换 a 。我无法使用 Regex.Replace 函数作为 follos 来实现这一点
正则表达式.Replace(html, "\\"", "\"");
再次执行此命令会产生原始输出
任何人都已经遇到过这样的问题,任何帮助将不胜感激。
问候,甘尼桑
首先"\\""会产生编译器错误,因为您只是转义一个反斜杠而不是引号。
您在这里使用了 2 种转义机制,一种来自 c# 编译器,另一种来自 regex 解释器。
意思是:
当您将此 C# 字符串作为 regex: 提供时"\\\"",编译后会有一个类似于 that 的字符串\",然后由 regex 引擎解释,该引擎也\用作转义字符。因此正则表达式将转义",因此您的代码将替换"为"
因此,如果您现在使用"\\\\\"",首先 c# 编译器将使用\\"它,然后正则表达式引擎将\"使用它(两者都\用作转义字符)
现在 c# 有一个很好的小功能,可以让这样的字符串更容易编写。
如果你@在你的字符串之前添加一个,\将不再是转义字符,但现在你必须"用""
这意味着"\\\""==@"\"""和"\\\\\""==@"\\"""
所以你可以写Regex.Replace(html,@"\\""","\"")
哪个更容易阅读Regex.Replace(html,"\\\\\","\"")
我想我这次做对了:D