【问题标题】:Removing a specific div from HTML string [duplicate]从 HTML 字符串中删除特定的 div [重复]
【发布时间】:2018-08-10 19:24:13
【问题描述】:

我有一个 HTML 字符串,我想根据某些条件从该字符串中删除一个特定的 div 及其所有内容,我的 div 有一个特定的类,并且其中包含一些其他嵌套的 div。我曾尝试使用正则表达式,但问题是它选择了第一个 </div> 并忽略了以下内容。

string html = "<div class=\"card-set--six manual-cardset\"><div>test string</div></div>";
html = new Regex("<div class=\"card-set--six manual-cardset\">.*?</div>").Replace(html, string.Empty);

在我的情况下,它应该删除所有内容并且我应该得到一个空字符串。但是这个正则表达式返回给我&lt;/div&gt;

【问题讨论】:

  • 不要使用正则表达式,使用专门用于此目的的库,例如 HtmlAgilityPack
  • @maccettura 我肯定想到了这一点,但问题是这实际上用于基于 .NET 的 CMS 的第 3 方,并且在其中使用第 3 方扩展和 dll 并不是很简单,所以我去了继续尝试一些正则表达式,但正如@SaniSinghHuttunen 建议的那样,正则表达式可能无法在这里完成工作。
  • 你想用任何东西替换整个 div 吗?还是只有“测试字符串”?
  • @Aamir 我想我不明白为什么你不能使用 HtmlAgilityPack。我经常在 CMS 开发工作中使用它。你正在用 C# 做上面的工作,不是吗?那么为什么对可以从 Nuget 使用的包有任何限制呢? HtmlAgilityPack 是免费的...

标签: c# html regex


【解决方案1】:

去掉.*之后的问号?

【讨论】:

  • 我想知道当这实际上解决了@Aamir 的问题时,你为什么要投反对票
猜你喜欢
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 2018-09-16
  • 1970-01-01
  • 2017-06-18
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
相关资源
最近更新 更多