提取特定标题下的文本或仅提取 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;
    }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...