Cie*_*iel 0 c# regex html-parsing
我有一个从RSS提要中提取的HTML结构,我需要删除它的一部分,但它不是流的独立部分.
所以我有
<p>Some Html... </p>
<br />
<p>The p section I want to remove</p>
Run Code Online (Sandbox Code Playgroud)
是否有正则表达式模式可以做到这一点?找到<p>给定字符串的最后一段并将其删除?我正在使用C#作为正则表达式.
你确定要使用正则表达式吗?实际上我认为你应该只在你需要的时候使用它们.
为什么不考虑类似的事情(假设HTML格式正确并且没有嵌套段落):
string html = GetRSS();
int pStartIndex = html.LastIndexOf("<p>");
int pEndIndex = html.LastIndexOf("</p>");
string result = html.Remove(pStartIndex, pEndIndex - pStartIndex + 4);
Run Code Online (Sandbox Code Playgroud)
或者你可以考虑使用更高级(也许是合适的)像HTML Agility Pack或(更糟糕的是,如果你正在使用糟糕的html)集成的.NET XML解析器(编辑: 正如svicks所说,如果你选择这个解决方案,请确保您正在使用HTML也是有效的XML).