我想用 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