微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

提取特定标题下的文本或仅提取 listItems

如何解决提取特定标题下的文本或仅提取 listItems

我需要提取特定标题下的文本。

word 文档示例:

吓人

Lorem ipsum dolor 坐 amet,consectetuer adipiscing 精英。 Aenean commodo ligula >eget dolor。埃尼马萨。暨社会 natoque penatibus et magnis dis parturient montes,nascetur ridiculus 穆Donec quam felis,

列表项

  1. 列表项
  2. 列表项
  3. 列表项

一个标题

这是我不需要提取的文本

因此需要提取标题“afbakening”下的文本。

如果有人知道如何仅将列表项提取为该特定标题下的字符串,那就更好了。

解决方法

我建议您尝试在线搜索处理文本和字符串时它是如何工作的,有很多方法可以做到这一点。特别坚持您的确切需求,您实际上可以简单地搜索“Afbakening”的标题并将变量设置为文本的最大长度(即另一个的确切位置,或者只是您想要的位置),然后搜索对于任何您发现 X + ". List item" (X an int) 并将列表项存储在适合您需要的变量中的实例。有很多可能性,但由于问题中没有说明您的需求的特定用途或目的,因此该答案与问题一样含糊不清。尽管如此,我还是建议您尝试一些技术,即使是字符串的 Substring 函数也可以提供帮助。

,

就您而言,您可以使用 DocumentVisitor 从您的文档中提取内容。例如看下面的代码:

Document doc = new Document(@"C:\temp\in.docx");
MyVisitor visitor = new MyVisitor();
doc.Accept(visitor);
private class MyVisitor : DocumentVisitor
{
    public override VisitorAction VisitParagraphStart(Paragraph paragraph)
    {
        // Detect heading paragraph. Heading 1 style is used for demonstration purposes.
        if (paragraph.ParagraphFormat.StyleIdentifier == StyleIdentifier.Heading1)
        {
            Console.WriteLine("Heading Started: {0}",paragraph.ToString(SaveFormat.Text).Trim());
        }

        // Detect list items.
        if (paragraph.IsListItem)
        {
            Console.WriteLine("\t{0}",paragraph.ToString(SaveFormat.Text).Trim());
        }

        return VisitorAction.Continue;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。