C#替换“/ with” - 带双引号和其他的双引号反弹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#替换“/ with” - 带双引号和其他的双引号反弹相关的知识,希望对你有一定的参考价值。

我正在尝试解析一些内部有一堆转义字符的html,很多 t , n, r n,每个双引号都用反斜杠转义。示例HTML:

<div id="error-modal" title="Retrieving Document Error" class="text-hide">
    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);

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

以上是关于C#替换“/ with” - 带双引号和其他的双引号反弹的主要内容,如果未能解决你的问题,请参考以下文章

在awk中搜索带双引号的字符串

删除 Presto SQL 兼容数据库 (AWS Athena) 中数据中的双引号?

CSV文件的双引号怎么去掉。用记事本打开有双引号,EXCEL打开又没有了,怎么样去掉这个双引号,这是个啥

用R中的双引号替换转义的双引号

c语言中如何输入双引号

替换成对出现的双引号