我正在尝试解析一些内部有一堆转义字符的HTML,很多\ t \,\ n,\ r \ n,每个双引号都用反斜杠转义。示例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中的其他内容,但是在异常中字符串与之前相同,反斜杠仍然存在。我究竟做错了什么?
问题是替换方法需要\ n \ n \ r \ t作为代码而不是您想要的文本。
您可以使用正则表达式来实现这一点。
var patternToMatch = "\\\\(n|r|t|\\\")";
var replacement = "";
var escapedString = Regex.Replace(inputString, patternToMatch, replacement);
修改模式以符合您的要求,但基本上这个表达式可以解决您的问题。