C#将“ /替换为”-用双引号和其他引起双引号的反冲

时间:2018-10-08 20:23:50

标签: c# html .net xml parsing

我正在尝试解析其中包含一堆转义字符的HTML,其中很多 \ t,\ n,\ r,并且每个双引号都由反斜杠转义。 HTML示例:

<div id=\"error-modal\" title=\"Retrieving Document Error\" class=\"text-hide\">\n    We're sorry, we were unable to retrieve your requested document or image.</div>

我正在尝试通过以下方式替换这些字符:

 var xpar = new XML.Parser(wConn.RawString.Replace("\\n", "").Replace("\\t", "").Replace("\\r","").Replace("\\\"", "\""))

解析器会出错,因为HTML中还有其他不喜欢的东西,但是在例外情况下,字符串与以前相同,反斜杠仍然存在。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

问题在于替换方法将\ n \ r \ t作为代码而不是您想要的文本。

您可以使用正则表达式来实现。

var patternToMatch = "\\\\(n|r|t|\\\")";
var replacement = "";
var escapedString = Regex.Replace(inputString, patternToMatch, replacement);

修改模式以符合您的要求,但是基本上该表达式可以解决您的问题。