C# 删除第一个环绕的 div

问题描述

我正在尝试删除出现在我的报告字符串中的第一个

Actual result:
<div><div><p>This is a test</p><ul><li>a</li><li>b</li><li>c</li></ul></div></div>

Expected result
<div><p>This is a test</p><ul><li>a</li><li>b</li><li>c</li></ul></div>

我一直在尝试将整个字符串转换一个数组,这样我就可以删除它的第一个和最后一个元素,但是由于没有逗号或空格,我很难拆分它。

我该如何进行?被淘汰的 HTML 永远是那个额外的 div

解决方法

此方法将考虑您在第一个 div 中有一个属性的情况(即 <div class='bla'> <div> text </div> </div>)。 为了完整性和避免未处理的异常,您应该检查边缘情况(例如空字符串、格式错误的 html...)

    public string InnerDiv(string html)
    {
        var start_idx = html.IndexOf(">",html.IndexOf("<div",StringComparison.InvariantCulture),StringComparison.InvariantCulture) + 1;
        var last_idx = html.LastIndexOf("</div>",StringComparison.InvariantCulture);
        return html.Substring(start_idx,last_idx - start_idx);
    }