删除转义序列不起作用

Sau*_*rma 1 html c# regex asp.net string

我有这样的HTML代码:

 <tr>
     <th colspan="2" style="padding: 10px; font-size: 11px; background: #eee; border: 1px solid white" align="left">
         Some Text Here                    
     </th>
 </tr>
Run Code Online (Sandbox Code Playgroud)

我将其存储在字符串中,如下所示:

 string gtr = 
        @"<tr>
            <th colspan=""2"" style=""padding: 10px; font-size: 11px; background: #eee; border: 1px solid white"" align=""left"">
                 Some Text Here
            </th>
        </tr>";
Run Code Online (Sandbox Code Playgroud)

但当我调试它显示字符串时像这样:

<tr>
     <th colspan=\"2\" style=\"padding: 10px; font-size: 11px; background: #eee; border: 1px solid white\" align=\"left\">
         Some Text Here
     </th>
</tr>
Run Code Online (Sandbox Code Playgroud)

它显示转义序列字符.

它试图像这样删除它们

gtr = gtr.Replace(@"\","");
Run Code Online (Sandbox Code Playgroud)

使用所有其他可能的方法

但这不起作用它总是显示字符串gtr与转义序列字符.

如何在没有Escape Sequence Character的情况下实现字符串,并且只提供清晰的HTML代码.

我只使用ASP.NET和C#而不是使用MVC,这是一个静态内容.

Jon*_*eet 5

但当我调试它显示字符串像这样

那是因为你正在查看调试器中的字符串.字符串实际上并不包含那些反斜杠 - 它们只是调试输出的一部分,它会转义各种字符,使其看起来像代码中的常规字符串文字.

将字符串写入文件或控制台,你会看到反斜杠确实不存在.

作为在调试器中说服自己的替代方法,请尝试以下方法:

 string x = "\"\"";
 int y = x.Length;
 char z = x[0];
Run Code Online (Sandbox Code Playgroud)

然后在调试器中你会看到它y是2,z只是"- 它可能会被再次转义,但显然它不能同时是两个字符,\"因为它只是一个char.