【问题标题】:How can I use C# replace to remove the string \" and replace with just the "如何使用 C# replace 删除字符串 \" 并仅替换为 "
【发布时间】:2013-12-02 18:33:39
【问题描述】:

我正在尝试使用所见即所得编辑器从页面中捕获 html,我正在制作该编辑器,用户可以在其中玩耍和更改模板。除了剩下的一个障碍之外,我已经设法剥离了 html,因为我似乎无法弄清楚如何删除 \" 并仅用 ".我的字符串是这样写的:

<div class=\"row top20\"> 

我希望它在哪里:

<div class="row top20"> 

我删除了字符串的其他部分:

string test = ownhtml.Replace(fake1T1, image1T1Uri).Replace("\r", "").Replace("\n", "").Trim();

我尝试过链接

.Replace("\","").Trim();

但这会产生一个错误,因为我知道它用于 c# 中的特殊字符,所以我尝试了 \ 但这没有用

【问题讨论】:

  • 告诉我们什么错误,当你使用那条线时?
  • 下一次,发布整个错误。说“它给出了一个错误”意味着没有任何没有该错误消息。 you would have got 错误消息可能是关于未转义字符的编译错误。
  • 我还没有解决我的问题,我已经编辑了关于未转义字符的帖子,但感谢您的提示

标签: c# html string replace trim


【解决方案1】:

您需要在替换语句中转义 \ 和 "

试试这个:

.Replace("\\\"","\"").Trim();

这将转义字符并解析为

.Replace("\"",""").Trim();

【讨论】:

  • 没用,虽然我完全明白你的意思,这就是我认为它会起作用的方式
  • 为什么这不起作用?您是否收到错误或只是没有替换您想要的内容?
  • 没有错误只是没有取代我想要的。我也试过 .Replace(@"\\","") 只是为了尝试删除 \ 但无济于事,不确定它可能是 C# 的东西
  • 如果你使用@来转义它,你不应该需要双反斜杠你应该只需要一个
  • 也试过 .Replace(@"\","").Trim();但这也不起作用
【解决方案2】:

对于任何有类似问题的人,我都可以使用字符串生成器解决此问题并排除此字符:

StringBuilder campaignhtml = new StringBuilder();
        for (int i = 0; i < ownhtml.Length; i++)
        {
            if (ownhtml[i] != '\\') { campaignhtml.Append(ownhtml[i]); }
        }

【讨论】:

    【解决方案3】:

    这仅在调试器中发生。在坚持 /n 被删除

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-21
      • 1970-01-01
      • 2013-11-16
      • 2017-03-24
      • 1970-01-01
      • 2021-11-29
      • 2021-07-28
      • 2020-05-11
      相关资源
      最近更新 更多