0

我想用 C# 替换 a 。我无法使用 Regex.Replace 函数作为 follos 来实现这一点

正则表达式.Replace(html, "\\"", "\"");

再次执行此命令会产生原始输出

任何人都已经遇到过这样的问题,任何帮助将不胜感激。

问候,甘尼桑

4

1 回答 1

-1

首先"\\""会产生编译器错误,因为您只是转义一个反斜杠而不是引号。

您在这里使用了 2 种转义机制,一种来自 c# 编译器,另一种来自 regex 解释器。

意思是:

当您将此 C# 字符串作为 regex: 提供时"\\\"",编译后会有一个类似于 that 的字符串\",然后由 regex 引擎解释,该引擎也\用作转义字符。因此正则表达式将转义",因此您的代码将替换""

因此,如果您现在使用"\\\\\"",首先 c# 编译器将使用\\"它,然后正则表达式引擎将\"使用它(两者都\用作转义字符)

现在 c# 有一个很好的小功能,可以让这样的字符串更容易编写。

如果你@在你的字符串之前添加一个,\将不再是转义字符,但现在你必须"""

这意味着"\\\""==@"\""""\\\\\""==@"\\"""

所以你可以写Regex.Replace(html,@"\\""","\"") 哪个更容易阅读Regex.Replace(html,"\\\\\","\"")

我想我这次做对了:D

于 2013-03-01T12:30:13.977 回答