CN110704573B - 目录存储方法、装置、计算机设备及存储介质 - Google Patents
目录存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110704573B CN110704573B CN201910833398.XA CN201910833398A CN110704573B CN 110704573 B CN110704573 B CN 110704573B CN 201910833398 A CN201910833398 A CN 201910833398A CN 110704573 B CN110704573 B CN 110704573B
- Authority
- CN
- China
- Prior art keywords
- title
- target text
- titles
- tree structure
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 abstract description 4
- 238000013500 data storage Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种目录存储方法、装置、计算机设备及存储介质。本发明应用于数据处理中的数据存储领域。所述方法包括:读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。通过实施本发明实施例的方法可实现Word文本的目录在Java程序中存储的效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种目录存储方法、装置、计算机设备及存储介质。
背景技术
目前,POI(Poor Obfuscation Implementation,简洁版的模糊实现)提供API(Application Programming Interface,应用编程接口)给Java程序对Microsoft Office格式档案读和写的功能,Java程序可方便地操作Microsoft Office格式的档案。例如,可以通过POI提取出Word所有目录标题结构,然而POI所提取出的标题层级结构无法直接在java程序中保存,造成开发受限。
发明内容
本发明实施例提供了一种目录存储方法、装置、计算机设备及存储介质,旨在解决Word文本的目录无法直接在java程序中保存的问题。
第一方面,本发明实施例提供了一种目录存储方法,其包括:读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。
第二方面,本发明实施例还提供了一种目录存储装置,其包括:记录单元,用于读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;获取单元,用于根据预设格式获取所述目标文本中各级标题的标题名称;确定单元,用于获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;存储单元,用于创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种目录存储方法、装置、计算机设备及存储介质。其中,所述方法包括:读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。本发明实施例应用于Java中,由于通过读取目标文本并记录段落的位置,根据相邻的同级标题对应段落的位置确定各级标题的起止位置,将各级标题的标题名称以及起止位置通过树形结构对象进行存储,可实现Word文本的目录在Java程序中存储的效果。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的目录存储方法的流程示意图;
图2为本发明实施例提供的目录存储方法的子流程示意图;
图3为本发明实施例提供的目录存储方法的子流程示意图;
图4为本发明实施例提供的目录存储方法的子流程示意图;
图5为本发明实施例提供的目录存储方法的树形结构对象示意图;
图6为本发明另一实施例提供的目录存储方法的流程示意图;
图7为本发明实施例提供的目录存储装置的示意性框图;
图8为本发明实施例提供的目录存储装置的具体单元的示意性框图;
图9为本发明另一实施例提供的目录存储装置的示意性框图;以及
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的目录存储方法的示意性流程图。该目录存储方法应用于终端中。
图1是本发明实施例提供的目录存储方法的流程示意图。如图所示,该方法包括以下步骤:S110-S140。
S110、读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落。
在一实施例中,例如本实施例中,POI是java用于处理Microsoft Office格式文档的工具,目标文本指的是Word格式的文本,目标文本中有多个段落,目标文本中包括有各级标题,且每个标题与段落相对应即一个标题为一个段落。具体地,通过POI读取目标文本,且在读取时对每个段落进行标记,从而记录每个段落的位置。
在一实施例中,例如本实施例中,如图2所示,所述步骤S110可包括步骤:S111-S112。
S111、读取目标文本并将所述目标文本按照段落划分。
S112、通过序号对所述目标文本中的每个段落进行标记以确定每个段落的位置。
在一实施例中,例如本实施例中,将所读取的目标文本按照段落进行划分,将目标文本划分为多个段落,目标文本是按照文本的顶部到底部的顺序一个一个段落读取的,每读取一个段落时则对所读取的段落添加标记,其中,该标记为序号,序号具体指的是阿拉伯数字顺序,由0开始进行标记。具体如下所示。
S120、根据预设格式获取所述目标文本中各级标题的标题名称。
在一实施例中,例如本实施例中,所述目标文本中包括有多级标题,例如,一级标题、二级标题以及三级标题,且每级标题存在多个同级标题。预设格式具体指的是各级标题的格式,每级标题的格式预设有多种,预设格式是根据Word文本的固定标题格式以及常用的标题格式进行设置,例如,一级标题为“第一章、”或者“一、”,二级标题为“第一节、”或者“(一)、”,三级标题为“第一小节、”或者“(1)、”。具体地,首先根据一级标题的预设格式遍历目标文本找到符合一级标题格式的标题,从而获取一级标题的标题名称;然后再根据二级标题的预设格式遍历目标文本找到符合二级标题格式的标题,从而获取二级标题的标题名称;最后再根据三级标题的预设格式遍历目标文本找到符合二级标题格式的标题,从而获取三级标题的标题名称。需要注意的是,部分文本可能仅存在一级标题和二级标题,若不存在三级标题,无法找到符合三级标题格式的标题则结束本步骤执行下一步骤。
S130、获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置。
在一实施例中,例如本实施例中,首先获取各级标题对应所标记的序号,将各级标题对应的序号作为其起始位置,然后选取相邻的两个同级标题序号,序号在前的标题的结束位置等于序号在后的标题的序号减一,从而得到序号在前的标题的起止位置,以此类推,计算所有相邻的同级标题的序号从而得到各级标题的起止位置。
在一实施例中,例如本实施例中,如图3所示,所述步骤S130可包括步骤:S131-S132。
S131、获取所有同级标题对应段落的序号。
S132、根据相邻同级标题对应段落的序号通过预设公式计算每个同级标题的起止位置。
在一实施例中,例如本实施例中,在获取到各级标题的标题名称后,首先获取各级标题对应段落的序号,例如,一级标题的序号为1、35和60,二级标题的序号为5和20,三级标题的序号为10、15以及25、30,将所获取的各级标题对应段落的序号作为每个标题的起始位置;然后选取两个相邻的同级标题,将序号在前的同级标题的序号设为X,将序号在后的同级标题的序号设为P,根据预设公式:
Y=P-1
其中,Y为序号在前的同级标题的结束位置,根据预设公式即可求出序号在前的同级标题的结束位置,那么序号在前的同级标题的起止位置则为(X、Y)。例如,一级标题的序号为1、35和60,选取两个相邻的同级标题1和35,其中,序号在前的同级标题的序号为1,1即为序号在前的同级标题的起始位置,序号在后的同级标题的序号为35,根据预设公式计算得到序号在前的同级标题的结束位置为35-1=34,从而得到序号在前的同级标题的起止位置为(1,34)。同理地,其他各级标题的起止位置按照同样的方式求得。
S140、创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。
在一实施例中,例如本实施例中,在java程序中创建一个树形结构对象,该树形结构对象用于存储目标文本中各级标题的标题名称和对应的位置。树形结构对象包括有多个节点,且每一个节点都有一个唯一的父节点和多个子节点,通过树形结构对象的这种特点可以存储目标文本中标题目录的层级结构。
在一实施例中,例如本实施例中,如图4所示,所述步骤S140可包括步骤:S141-S143。
S141、将所述目标文本的文件名称存储在所述树形结构对象的根节点中。
S142、将一级标题的标题名称以及对应的起止位置存储在所述树形结构对象的父节点中。
S143、将二级标题的标题名称以及对应的起止位置存储在所述树形结构对象的子节点中。
在一实施例中,例如本实施例中,树形结构对象包括根节点、父节点以及子节点,其中,根节点用于存储目标文本的文件名称,以便查找目标文本。根节点连接有多个父节点,一级标题的标题名称以及对应的起止位置存储在父节点中,父节点的数量与一级标题的数量相对应;每个父节点连接有多个子节点,二级标题的标题名称以及对应的起止位置存储在子节点中,子节点的数量与二级标题的数量相对应;若目标文本还有三级标题,继续添加孙节点,子节点与多个孙节点连接,三级标题的标题名称以及对应的起止位置存储在孙节点中,孙节点的数量与三级标题的数量相对应。也即,有多少层级的标题就添加多少层级的节点进行存储,标题层级的数量与节点层级的数量相对应。例如,如图5所示。
在一实施例中,例如本实施例中,如图6所示,所述步骤S140之后,还包括步骤:S150-S160。
S150、若接收到目标标题的文本提取指令,根据所述目标标题查询所述树形结构对象以获取所述目标标题的起止位置。
S160、根据所述目标标题的起止位置从所述目标文本中提取所述目标标题的文本。
在一实施例中,例如本实施例中,在实现目录标题在java中存储后,可实现更多的开发,如文本内容的提取。若需要提取某个段落的文本内容,只需要提供目标段落文本内容对应的标题名称的字段即可,当接收到目标标题的文本提取命令,则根据目标标题的标题名称字段在树形结构对象中进行遍历,查找相同的标题名称,若在树形结构对象的节点中查找出到与之相同的标题名称,则获取该节点中所存储的起止位置,也即为目标标题的起止位置。根据树形结构对象的根节点中存储的文件名称调用目标文本,根据所获取的目标标题的起止位置首先从目标文本中找到起始位置的段落和结束位置的段落,然后提取起始位置和结束位置之间的所有段落的内容作为目标标题的文本,从而实现了文本内容的提取。
本发明实施例展示了一种目录存储方法,通过读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点,可实现Word文本的目录在Java程序中存储的效果。
图7是本发明实施例提供的一种目录存储装置200的示意性框图。如图7所示,对应于以上目录存储方法,本发明还提供一种目录存储装置200。该目录存储装置200包括用于执行上述目录存储方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图7,该目录存储装置200包括:记录单元210、获取单元220、确定单元230以及存储单元240。
记录单元210,用于读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落。
在一实施例中,例如本实施例中,POI是java用于处理Microsoft Office格式文档的工具,目标文本指的是Word格式的文本,目标文本中有多个段落,目标文本中包括有各级标题,且每个标题与段落相对应即一个标题为一个段落。具体地,通过POI读取目标文本,且在读取时对每个段落进行标记,从而记录每个段落的位置。
在一实施例中,例如本实施例中,如图8所示,所述记录单元210包括:读取单元211以及标记单元212。
读取单元211,用于读取目标文本并将所述目标文本按照段落划分。
标记单元212,用于通过序号对所述目标文本中的每个段落进行标记以确定每个段落的位置。
在一实施例中,例如本实施例中,将所读取的目标文本按照段落进行划分,将目标文本划分为多个段落,目标文本是按照文本的顶部到底部的顺序一个一个段落读取的,每读取一个段落时则对所读取的段落添加标记,其中,该标记为序号,序号具体指的是阿拉伯数字顺序,由0开始进行标记。具体如下所示。
获取单元220,用于根据预设格式获取所述目标文本中各级标题的标题名称。
在一实施例中,例如本实施例中,所述目标文本中包括有多级标题,例如,一级标题、二级标题以及三级标题,且每级标题存在多个同级标题。预设格式具体指的是各级标题的格式,每级标题的格式预设有多种,预设格式是根据Word文本的固定标题格式以及常用的标题格式进行设置,例如,一级标题为“第一章、”或者“一、”,二级标题为“第一节、”或者“(一)、”,三级标题为“第一小节、”或者“(1)、”。具体地,首先根据一级标题的预设格式遍历目标文本找到符合一级标题格式的标题,从而获取一级标题的标题名称;然后再根据二级标题的预设格式遍历目标文本找到符合二级标题格式的标题,从而获取二级标题的标题名称;最后再根据三级标题的预设格式遍历目标文本找到符合二级标题格式的标题,从而获取三级标题的标题名称。需要注意的是,部分文本可能仅存在一级标题和二级标题,若不存在三级标题,无法找到符合三级标题格式的标题则结束本步骤执行下一步骤。
确定单元230,用于获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置。
在一实施例中,例如本实施例中,首先获取各级标题对应所标记的序号,将各级标题对应的序号作为其起始位置,然后选取相邻的两个同级标题序号,序号在前的标题的结束位置等于序号在后的标题的序号减一,从而得到序号在前的标题的起止位置,以此类推,计算所有相邻的同级标题的序号从而得到各级标题的起止位置。
在一实施例中,例如本实施例中,如图8所示,所述确定单元230包括:获取子单元231以及计算单元232。
获取子单元231,用于获取所有同级标题对应段落的序号。
计算单元232,用于根据相邻同级标题对应段落的序号通过预设公式计算每个同级标题的起止位置。
在一实施例中,例如本实施例中,在获取到各级标题的标题名称后,首先获取各级标题对应段落的序号,例如,一级标题的序号为1、35和60,二级标题的序号为5和20,三级标题的序号为10、15以及25、30,将所获取的各级标题对应段落的序号作为每个标题的起始位置;然后选取两个相邻的同级标题,将序号在前的同级标题的序号设为X,将序号在后的同级标题的序号设为P,根据预设公式:
Y=P-1
其中,Y为序号在前的同级标题的结束位置,根据预设公式即可求出序号在前的同级标题的结束位置,那么序号在前的同级标题的起止位置则为(X、Y)。例如,一级标题的序号为1、35和60,选取两个相邻的同级标题1和35,其中,序号在前的同级标题的序号为1,1即为序号在前的同级标题的起始位置,序号在后的同级标题的序号为35,根据预设公式计算得到序号在前的同级标题的结束位置为35-1=34,从而得到序号在前的同级标题的起止位置为(1,34)。同理地,其他各级标题的起止位置按照同样的方式求得。
存储单元240,用于创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。
在一实施例中,例如本实施例中,在java程序中创建一个树形结构对象,该树形结构对象用于存储目标文本中各级标题的标题名称和对应的位置。树形结构对象包括有多个节点,且每一个节点都有一个唯一的父节点和多个子节点,通过树形结构对象的这种特点可以存储目标文本中标题目录的层级结构。
在一实施例中,例如本实施例中,如图8所示,所述存储单元240包括:名称存储单元241、一级存储单元242以及二级存储单元243。
名称存储单元241,用于将所述目标文本的文件名称存储在所述树形结构对象的根节点中。
一级存储单元242,用于将一级标题的标题名称以及对应的起止位置存储在所述树形结构对象的父节点中。
二级存储单元243,用于将二级标题的标题名称以及对应的起止位置存储在所述树形结构对象的子节点中。
在一实施例中,例如本实施例中,树形结构对象包括根节点、父节点以及子节点,其中,根节点用于存储目标文本的文件名称,以便查找目标文本。根节点连接有多个父节点,一级标题的标题名称以及对应的起止位置存储在父节点中,父节点的数量与一级标题的数量相对应;每个父节点连接有多个子节点,二级标题的标题名称以及对应的起止位置存储在子节点中,子节点的数量与二级标题的数量相对应;若目标文本还有三级标题,继续添加孙节点,子节点与多个孙节点连接,三级标题的标题名称以及对应的起止位置存储在孙节点中,孙节点的数量与三级标题的数量相对应。也即,有多少层级的标题就添加多少层级的节点进行存储,标题层级的数量与节点层级的数量相对应。例如,如图5所示。
在一实施例中,例如本实施例中,如图9所示,所述目录存储装置200还包括:查询单元250以及提取单元260。
查询单元250,用于若接收到目标标题的文本提取指令,根据所述目标标题查询所述树形结构对象以获取所述目标标题的起止位置。
提取单元260,用于根据所述目标标题的起止位置从所述目标文本中提取所述目标标题的文本。
在一实施例中,例如本实施例中,在实现目录标题在java中存储后,可实现更多的开发,如文本内容的提取。若需要提取某个段落的文本内容,只需要提供目标段落文本内容对应的标题名称的字段即可,当接收到目标标题的文本提取命令,则根据目标标题的标题名称字段在树形结构对象中进行遍历,查找相同的标题名称,若在树形结构对象的节点中查找出到与之相同的标题名称,则获取该节点中所存储的起止位置,也即为目标标题的起止位置。根据树形结构对象的根节点中存储的文件名称调用目标文本,根据所获取的目标标题的起止位置首先从目标文本中找到起始位置的段落和结束位置的段落,然后提取起始位置和结束位置之间的所有段落的内容作为目标标题的文本,从而实现了文本内容的提取。
本发明实施例展示了一种目录存储装置,通过读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点,可实现Word文本的目录在Java程序中存储的效果。
上述目录存储装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种目录存储方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种目录存储方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。
在一实施例中,例如本实施例中,处理器502在实现所述读取目标文本并记录所述目标文本中所有段落的位置步骤时,具体实现如下步骤:读取目标文本并将所述目标文本按照段落划分;通过序号对所述目标文本中的每个段落进行标记以确定每个段落的位置。
在一实施例中,例如本实施例中,处理器502在实现所述获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置步骤时,具体实现如下步骤:获取所有同级标题对应段落的序号;根据相邻同级标题对应段落的序号通过预设公式计算每个同级标题的起止位置。
在一实施例中,例如本实施例中,处理器502在实现所述将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中步骤时,具体实现如下步骤:将所述目标文本的文件名称存储在所述树形结构对象的根节点中;将一级标题的标题名称以及对应的起止位置存储在所述树形结构对象的父节点中;将二级标题的标题名称以及对应的起止位置存储在所述树形结构对象的子节点中。
在一实施例中,例如本实施例中,处理器502在实现所述将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中步骤之后,还实现如下步骤:若接收到目标标题的文本提取指令,根据所述目标标题查询所述树形结构对象以获取所述目标标题的起止位置;根据所述目标标题的起止位置从所述目标文本中提取所述目标标题的文本。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessingUnit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;根据预设格式获取所述目标文本中各级标题的标题名称;获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点。
在一实施例中,例如本实施例中,所述处理器在执行所述程序指令而实现所述读取目标文本并记录所述目标文本中所有段落的位置步骤时,具体实现如下步骤:读取目标文本并将所述目标文本按照段落划分;通过序号对所述目标文本中的每个段落进行标记以确定每个段落的位置。
在一实施例中,例如本实施例中,所述处理器在执行所述程序指令而实现所述获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置步骤时,具体实现如下步骤:获取所有同级标题对应段落的序号;根据相邻同级标题对应段落的序号通过预设公式计算每个同级标题的起止位置。
在一实施例中,例如本实施例中,所述处理器在执行所述程序指令而实现所述将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中步骤时,具体实现如下步骤:将所述目标文本的文件名称存储在所述树形结构对象的根节点中;将一级标题的标题名称以及对应的起止位置存储在所述树形结构对象的父节点中;将二级标题的标题名称以及对应的起止位置存储在所述树形结构对象的子节点中。
在一实施例中,例如本实施例中,所述处理器在执行所述程序指令而实现所述将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中步骤之后,还实现如下步骤:若接收到目标标题的文本提取指令,根据所述目标标题查询所述树形结构对象以获取所述目标标题的起止位置;根据所述目标标题的起止位置从所述目标文本中提取所述目标标题的文本。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种目录存储方法,应用于Java中,其特征在于,包括:
读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;
根据预设格式获取所述目标文本中各级标题的标题名称;
获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;
获取所有同级标题对应段落的序号;
根据相邻同级标题对应段落的序号通过预设公式计算每个同级标题的起止位置;
创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点;
将所述目标文本的文件名称存储在所述树形结构对象的根节点中;
将一级标题的标题名称以及对应的起止位置存储在所述树形结构对象的父节点中;
将二级标题的标题名称以及对应的起止位置存储在所述树形结构对象的子节点中;
若接收到目标标题的文本提取指令,根据所述目标标题查询所述树形结构对象以获取所述目标标题的起止位置;
根据所述目标标题的起止位置从所述目标文本中提取所述目标标题的文本。
2.根据权利要求1所述的目录存储方法,其特征在于,所述读取目标文本并记录所述目标文本中所有段落的位置,包括:
读取目标文本并将所述目标文本按照段落划分;
通过序号对所述目标文本中的每个段落进行标记以确定每个段落的位置。
3.一种目录存储装置,应用于Java中,其特征在于,包括:
记录单元,用于读取目标文本并记录所述目标文本中所有段落的位置,其中,所述目标文本中包括有各级标题,且每个所述标题为一个段落;
获取单元,用于根据预设格式获取所述目标文本中各级标题的标题名称;
确定单元,用于获取各级标题对应段落的位置并根据相邻的同级标题对应段落的位置确定各级标题的起止位置;
获取子单元,用于获取所有同级标题对应段落的序号;
计算单元,用于根据相邻同级标题对应段落的序号通过预设公式计算每个同级标题的起止位置;
存储单元,用于创建树形结构对象,将各级标题的所述标题名称以及对应的所述起止位置存储在所述树形结构对象的节点中以形成所述目标文本的目录,其中,所述树形结构对象包括有多个节点;
名称存储单元,用于将所述目标文本的文件名称存储在所述树形结构对象的根节点中;
一级存储单元,用于将一级标题的标题名称以及对应的起止位置存储在所述树形结构对象的父节点中;
一级存储单元,用于将二级标题的标题名称以及对应的起止位置存储在所述树形结构对象的子节点中;
查询单元,用于若接收到目标标题的文本提取指令,根据所述目标标题查询所述树形结构对象以获取所述目标标题的起止位置;
提取单元,用于根据所述目标标题的起止位置从所述目标文本中提取所述目标标题的文本。
4.根据权利要求3所述的目录存储装置,其特征在于,所述记录单元包括:
读取单元,用于读取目标文本并将所述目标文本按照段落划分;
标记单元,用于通过序号对所述目标文本中的每个段落进行标记以确定每个段落的位置。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-2中任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-2中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910833398.XA CN110704573B (zh) | 2019-09-04 | 2019-09-04 | 目录存储方法、装置、计算机设备及存储介质 |
PCT/CN2019/117749 WO2021042542A1 (zh) | 2019-09-04 | 2019-11-13 | 目录存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910833398.XA CN110704573B (zh) | 2019-09-04 | 2019-09-04 | 目录存储方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704573A CN110704573A (zh) | 2020-01-17 |
CN110704573B true CN110704573B (zh) | 2023-12-22 |
Family
ID=69194321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910833398.XA Active CN110704573B (zh) | 2019-09-04 | 2019-09-04 | 目录存储方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110704573B (zh) |
WO (1) | WO2021042542A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642320B (zh) * | 2020-04-27 | 2024-07-19 | 北京庖丁科技有限公司 | 文档目录结构的提取方法、装置、设备和介质 |
CN114327892B (zh) * | 2021-12-28 | 2024-05-03 | 武汉天喻信息产业股份有限公司 | Flash资源管理方法、存储介质、电子设备及装置 |
CN114997130A (zh) * | 2022-04-11 | 2022-09-02 | 北京高途云集教育科技有限公司 | 一种目录生成方法、装置、计算机设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11250041A (ja) * | 1998-02-27 | 1999-09-17 | Toshiba Corp | 文書処理装置および文書処理方法 |
CN1549157A (zh) * | 2003-05-17 | 2004-11-24 | 鸿富锦精密工业(深圳)有限公司 | 文档浏览控制系统及方法 |
JP2007095102A (ja) * | 2006-12-25 | 2007-04-12 | Toshiba Corp | 文書処理装置および文書処理方法 |
WO2009087999A1 (ja) * | 2008-01-11 | 2009-07-16 | Nec Corporation | 目次構造特定装置 |
WO2010063070A1 (en) * | 2008-12-03 | 2010-06-10 | Ozmiz Pty. Ltd. | Method and system for displaying data on a mobile terminal |
CN105630748A (zh) * | 2014-10-31 | 2016-06-01 | 富士通株式会社 | 信息处理设备和信息处理方法 |
CN106326194A (zh) * | 2015-07-06 | 2017-01-11 | 北大方正集团有限公司 | 一种应用于文件格式转换场景下的目录生成方法和装置 |
CN107357765A (zh) * | 2017-07-14 | 2017-11-17 | 北京神州泰岳软件股份有限公司 | Word文档碎片化方法及装置 |
CN109558575A (zh) * | 2018-10-25 | 2019-04-02 | 平安科技(深圳)有限公司 | 在线表格编辑方法、装置、计算机设备及存储介质 |
CN109977366A (zh) * | 2017-12-27 | 2019-07-05 | 珠海金山办公软件有限公司 | 一种目录生成方法及装置 |
CN110046236A (zh) * | 2019-03-20 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 一种非结构化数据的检索方法及装置 |
CN110196971A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 在线文档编辑方法、装置、终端设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488123B (zh) * | 2008-01-16 | 2013-02-13 | 鸿富锦精密工业(深圳)有限公司 | 文本解析系统及方法 |
CN102486769A (zh) * | 2010-12-02 | 2012-06-06 | 北大方正集团有限公司 | 文档目录处理方法和装置 |
US9286372B2 (en) * | 2013-11-06 | 2016-03-15 | Sap Se | Content management with RDBMS |
CN105677764B (zh) * | 2015-12-30 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 信息提取方法和装置 |
CN109918622B (zh) * | 2019-02-27 | 2020-12-08 | 中国地质大学(武汉) | 基于JAVA实现由Word文档向LaTeX文档转换的方法 |
-
2019
- 2019-09-04 CN CN201910833398.XA patent/CN110704573B/zh active Active
- 2019-11-13 WO PCT/CN2019/117749 patent/WO2021042542A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11250041A (ja) * | 1998-02-27 | 1999-09-17 | Toshiba Corp | 文書処理装置および文書処理方法 |
CN1549157A (zh) * | 2003-05-17 | 2004-11-24 | 鸿富锦精密工业(深圳)有限公司 | 文档浏览控制系统及方法 |
JP2007095102A (ja) * | 2006-12-25 | 2007-04-12 | Toshiba Corp | 文書処理装置および文書処理方法 |
WO2009087999A1 (ja) * | 2008-01-11 | 2009-07-16 | Nec Corporation | 目次構造特定装置 |
WO2010063070A1 (en) * | 2008-12-03 | 2010-06-10 | Ozmiz Pty. Ltd. | Method and system for displaying data on a mobile terminal |
CN105630748A (zh) * | 2014-10-31 | 2016-06-01 | 富士通株式会社 | 信息处理设备和信息处理方法 |
CN106326194A (zh) * | 2015-07-06 | 2017-01-11 | 北大方正集团有限公司 | 一种应用于文件格式转换场景下的目录生成方法和装置 |
CN107357765A (zh) * | 2017-07-14 | 2017-11-17 | 北京神州泰岳软件股份有限公司 | Word文档碎片化方法及装置 |
CN109977366A (zh) * | 2017-12-27 | 2019-07-05 | 珠海金山办公软件有限公司 | 一种目录生成方法及装置 |
CN109558575A (zh) * | 2018-10-25 | 2019-04-02 | 平安科技(深圳)有限公司 | 在线表格编辑方法、装置、计算机设备及存储介质 |
CN110046236A (zh) * | 2019-03-20 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 一种非结构化数据的检索方法及装置 |
CN110196971A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 在线文档编辑方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110704573A (zh) | 2020-01-17 |
WO2021042542A1 (zh) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704573B (zh) | 目录存储方法、装置、计算机设备及存储介质 | |
CN106547572B (zh) | 一种程序文件对比方法及装置 | |
CN106445476B (zh) | 一种代码变更信息确定方法、装置及电子设备 | |
US8024322B2 (en) | Ordered index | |
JP2005267600A5 (zh) | ||
CN109241003B (zh) | 文件管理方法和装置 | |
JP2006031687A (ja) | 外部メタデータの処理 | |
CN110636345B (zh) | 一种同一身份账号下的多媒体信息共享方法和系统 | |
CN109522271A (zh) | 一种b+树节点的批量插入和删除方法及装置 | |
CN111125298A (zh) | 重建ntfs文件目录树的方法、设备及存储介质 | |
CN109901796A (zh) | 基于外存的排序选择方法、装置、外存储设备及存储介质 | |
EP3343395B1 (en) | Data storage method and apparatus for mobile terminal | |
US20090259654A1 (en) | Information processing apparatus, control method thereof, and storage medium | |
CN105260266A (zh) | 一种快照卷写方法及依赖快照系统 | |
CN116150093B (zh) | 一种对象存储列举对象的实现方法及电子设备 | |
JP2020160494A (ja) | 情報処理装置、文書管理システム及びプログラム | |
CN112036133B (zh) | 一种文件保存方法、装置、电子设备及存储介质 | |
US8024351B2 (en) | Query result iteration | |
CN116821146B (zh) | 一种基于Apache Iceberg的数据表列更新方法及系统 | |
US10445320B2 (en) | Document search apparatus, non-transitory computer readable medium, and document search method | |
CN111782586A (zh) | 电子书数据源文件的匹配方法、计算设备及存储介质 | |
CN112783850B (zh) | 一种基于usn日志的文件枚举方法、装置、电子设备及存储介质 | |
CN110347333A (zh) | 提高克隆镜像性能的方法、装置、计算机设备及存储介质 | |
CN109491706B (zh) | 一种数据获取方法及相关装置 | |
JP5630140B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |