System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及txt文档内容章节划分,特别是涉及一种txt文档内容章节划分方法和系统。
技术介绍
1、随着信息时代的到来,人们越来越多地使用电子文档来阅读、编辑和存储文本信息。但是,txt文档属于纯文本,没有章节标识,若不主动划分章节,将使得用户阅读和跳转变得非常困难,会给用户带来了极大的不便。
2、为了解决这个问题,许多文本编辑软件都提供了手动添加章节标识的功能。但是,手动添加章节标识需要耗费大量的时间和精力,并且容易出现错误。
技术实现思路
1、本申请提供一种txt文档内容章节划分方法和系统,旨在解决现有技术手动添加章节标识需要耗费大量的时间和精力,并且容易出现错误的问题。
2、第一方面,一种txt文档内容章节划分方法,所述方法包括:
3、读取目标txt文档内容;
4、使用预设正则表达式识别所述目标txt文档所有标题;
5、遍历所述目标txt文档所有标题,对于每个标题,判断所述标题与下一个标题之间的行数;若行数小于第一阈值,则判定所述标题与下一个标题为同一章节的不同级别的标题;若行数大于等于第一阈值,则判定所述标题与下一个标题为不同章节的标题;
6、若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章;当行数达到第二阈值行时,创建一个新的章节,并将计数器重置为零;
7、通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应
8、上述方案中,可选地,所述读取目标txt文档内容,包括:
9、打开指定的txt文档,通过java的file类实现;使用bufferedreader或inputstreamreader对象,从所述txt文档中读取文本,在读取过程中,采用循环结构,读取文本内容,获得包含文档所有文本的字符串或者字符串列表。
10、上述方案中,可选地,所述使用预设正则表达式识别所述目标txt文档所有标题,包括:
11、定义预设正则表达式,匹配所述文档所有标题,所述正则表达式具体为:“第.*章|第.*节|第.*篇”,用来匹配“第x章”、“第x节”、“第x篇”标题,使用java的pattern和matcher类,对文本内容进行匹配,匹配结果是包含所有标题的列表。
12、上述方案中,可选地,所述若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章之后还包括:
13、若文档开头有前言,则将前言识别为一个独立的章节,通过检查文档的前n行来实现,若前n行的内容满足预设前言的特征,则判定为前言。
14、上述方案中,可选地,所述通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径,包括:
15、通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,在保存文件时,使用java的filewriter或printwriter,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径。
16、第二方面,一种txt文档内容章节划分系统,所述系统包括:
17、读取模块:用于读取目标txt文档内容;
18、提取标题模块:用于使用预设正则表达式识别所述目标txt文档所有标题;
19、第一划分章节模块:用于遍历所述目标txt文档所有标题,对于每个标题,判断所述标题与下一个标题之间的行数;若行数小于第一阈值,则判定所述标题与下一个标题为同一章节的不同级别的标题;若行数大于等于第一阈值,则判定所述标题与下一个标题为不同章节的标题;
20、第二划分章节模块:用于若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章;当行数达到第二阈值行时,创建一个新的章节,并将计数器重置为零;
21、生成目录模块:用于通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径。
22、上述方案中,可选的,所述读取模块读取目标txt文档内容,包括:
23、打开指定的txt文档,通过java的file类实现;使用bufferedreader或inputstreamreader对象,从所述txt文档中读取文本,在读取过程中,采用循环结构,读取文本内容,获得包含文档所有文本的字符串或者字符串列表。
24、上述方案中,可选的,所述提取标题模块使用预设正则表达式识别所述目标txt文档所有标题,包括:
25、定义预设正则表达式,匹配所述文档所有标题,所述正则表达式具体为:“第.*章|第.*节|第.*篇”,用来匹配“第x章”、“第x节”、“第x篇”标题,使用java的pattern和matcher类,对文本内容进行匹配,匹配结果是包含所有标题的列表。
26、上述方案中,可选的,所述若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章之后还包括:
27、前言判定模块:用于若文档开头有前言,则将前言识别为一个独立的章节,通过检查文档的前n行来实现,若前n行的内容满足预设前言的特征,则判定为前言。
28、上述方案中,可选的,所述生成目录模块通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径,包括:
29、通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,在保存文件时,使用java的filewriter或printwriter,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径。
30、相比现有技术,本申请至少具有以下有益效果:
31、本申请基于对现有技术问题的进一步分析和研究,认识到现有技术手动添加章节标识需要耗费大量的时间和精力,并且容易出现错误。
32、本申请通过读取目标txt文档内容,使用预设正则表达式识别所述目标txt文档所有标题,遍历所述目标txt文档所有标题,对于每个标题,判断所述标题与下一个标题之间的行数;若行数小于第一阈值,则判定所述标题与下一个标题为同一章节的不同级别的标题;若行数大于等于第一阈值,则判定所述标题与下一个标题为不同章节的标题,若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章;当行数达到第二阈值行时,创建一个新的章节,并将计数器重置为零,通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径,通过本方案可以自动识别电子文档中的章节标识,从而为用户提供更方便、快速的阅读体验。
本文档来自技高网...【技术保护点】
1.一种txt文档内容章节划分方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述读取目标txt文档内容,包括:
3.根据权利要求1所述的方法,其特征在于,所述使用预设正则表达式识别所述目标txt文档所有标题,包括:
4.根据权利要求1所述的方法,其特征在于,所述若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章之后还包括:
5.根据权利要求1所述的方法,其特征在于,所述通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径,包括:
6.一种txt文档内容章节划分系统,其特征在于,所述系统包括:
7.根据权利要求6所述的系统,其特征在于,所述读取模块读取目标txt文档内容,包括:
8.根据权利要求6所述的系统,其特征在于,所述提取标题模块使用预设正则表达式识别所述目标txt文档所有标题,包括:
9.根据权利要求6所述的系统,其特征在于,所述若所述目标txt文档没有标题,
10.根据权利要求6所述的系统,其特征在于,所述生成目录模块通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径,包括:
...【技术特征摘要】
1.一种txt文档内容章节划分方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述读取目标txt文档内容,包括:
3.根据权利要求1所述的方法,其特征在于,所述使用预设正则表达式识别所述目标txt文档所有标题,包括:
4.根据权利要求1所述的方法,其特征在于,所述若所述目标txt文档没有标题,将目标txt文档按照每第二阈值行分为一章之后还包括:
5.根据权利要求1所述的方法,其特征在于,所述通过遍历所有的章节,并将每个章节的标题和内容保存到一个新的文件中,同时,创建一个目录文件,列出所有章节的标题和对应的文件路径,包括:
6.一种t...
【专利技术属性】
技术研发人员:朱江,
申请(专利权)人:北京天顶星智能信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。