一种文档中指定单词查找方法、装置、设备以及存储介质与流程

文档序号:17477339发布日期:2019-04-20 06:12阅读:236来源:国知局
一种文档中指定单词查找方法、装置、设备以及存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种文档中指定单词查找方法、装置、设备以及计算机可读存储介质。



背景技术:

现有技术大都采用逐行读文件去匹配字符串的方法。实现方式具体为:逐行读文件,将文件内容每一行读到字符串中,逐个将获得的字符串存入一个列表,读完文件,将列表中的内容逐个拿出来逐个进行判断,如果指定单词存在于列表中,则生成查找存在的匹配结果,遍历完毕没有找到,则生成查找不存在的匹配结果。

然而,现有实现方式对于单词跨行存在的情况,即出现在一行末尾下一行开头的字符串,往往搜索不到。例如,“protection”出现在一行的末尾,由于换行被分为上一行末尾的“pro-”以及下一行开头的“tection”。由于“pro”不等于“protection”,在进行特定单词查找时会漏掉存在于第一行结尾没有写完,第二行开头又继续写的单词,导致查找准确性不高。还比如,文件内容为:

……ofactioncustomizerstodefinethedetailedbehaviorofinstallany-whereactionsandapplyrulestoanaction。要查找指定单词installanywhere是否在文件中时,单独匹配第一行或者第二行,都不能获得完全匹配,故而匹配结果是不存在,没有此字符串。



技术实现要素:

本发明的目的是提供一种文档中指定单词查找方法、装置、设备以及计算机可读存储介质,以解决现有指定单词查找方法准确性不高的问题。

为解决上述技术问题,本发明提供一种文档中指定单词查找方法,包括:

逐行读取文件数据;

当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;

将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

可选地,所述将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串包括:

将当前所读的文件行与下一行的全部字符拼接成为一个字符串。

可选地,所述将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果包括:

将当前所读的文件行与下一行的全部字符拼接成的字符串保存至预设列表中;

遍历所述预设列表中的所有字符串,将所述字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

可选地,所述当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串包括:

当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的字符串保存到变量str中,置标志位为1,将下一行读取到的字符串添加到变量str中当前所读的文件行的字符串的后面。

可选地,在所述将当前所读的文件行与下一行的全部字符拼接成的字符串保存至预设列表中之后还包括:

将变量str中保存的字符串清空。

本发明还提供了一种文档中指定单词查找装置,包括:

数据读取模块,用于逐行读取文件数据;

拼接模块,用于当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;

查找模块,用于将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

可选地,所述拼接模块用于:将当前所读的文件行与下一行的全部字符拼接成为一个字符串。

可选地,所述查找模块用于:将当前所读的文件行与下一行的全部字符拼接成的字符串保存至预设列表中;遍历所述预设列表中的所有字符串,将所述字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

本发明还提供了一种文档中指定单词查找设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种所述文档中指定单词查找方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述文档中指定单词查找方法的步骤。

本发明所提供的文档中指定单词查找方法,通过逐行读取文件数据;当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。本申请通过将跨行单词拼接为完整的单词,在拼接后再进行指定单词的匹配查找,从而不会漏掉跨行的字符串,使得查找过程更加高效,查找结果也更加准确。此外,本申请还提供了一种具有上述技术效果的文档中指定单词查找装置、设备以及计算机可读存储介质。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的文档中指定单词查找方法的一种具体实施方式的流程图;

图2为本发明所提供的文档中指定单词查找方法的另一种具体实施方式的流程图;

图3为本发明所提供的文档中指定单词查找方法的另一种具体实施方式的示意图;

图4为本发明所提供的文档中指定单词查找方法的又一种具体实施方式的示意图;

图5为本发明实施例提供的文档中指定单词查找装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所提供的文档中指定单词查找方法的一种具体实施方式的流程图如图1所示,该方法具体包括:

步骤s101:逐行读取文件数据;

步骤s102:当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;

对读取到的每一行的文件数据进行分析,如果判断当前所读的文件行末尾去掉换行符之后,最后一个字符是英文连字符“-”,则说明存在于该行结尾的单词跨两行书写,分别跨上一行的结尾和下一行的开头。

将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串这一步骤的一种实施方式可以为:将当前所读的文件行的字符串与下一行的全部字符串拼接为一个字符串,以使该字符串中跨行的单词成为一个完整的单词,从而进行单词匹配。另一种实施方式可以为:仅截取当前所读的文件行最后一个空格后面连字符前面的字符串,即本行最后一个单词,与下一行第一个空格前的单词拼接,成为一个完整的单词,与指定单词进行匹配。

步骤s103:将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

将生成的跨行字符串与指定单词进行匹配。在匹配成功时,可以输出指定单词存在的查找结果。若匹配不成功,则输出指定单词不存在的查找的结果。

本发明所提供的文档中指定单词查找方法,通过逐行读取文件数据;当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。本申请通过将跨行单词拼接为完整的单词,在拼接后再进行指定单词的匹配查找,从而不会漏掉跨行的字符串,使得查找过程更加高效,查找结果也更加准确。。

将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串的一种具体实施方式为:将当前所读的文件行与下一行的全部字符拼接成为一个字符串。下面针对该具体实施方式进行进一步详细阐述。

本发明所提供的文档中指定单词查找方法的另一种具体实施方式的流程图如图2所示,该方法具体包括:

步骤s201:逐行读取文件数据;

步骤s202:当判断当前所读的文件行末尾为连字符时,将当前所读的文件行与下一行的全部字符拼接成为一个字符串;

当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的字符串保存到变量str中,置标志位为1,将下一行读取到的字符串添加到变量str中当前所读的文件行的字符串的后面。

在所述将当前所读的文件行与下一行的全部数据组合的字符串保存至预设列表中之后还包括:将变量str中保存的字符串清空。通过这样的设置,能够防止str过长、导致内存溢出的情况。

步骤s203:将当前所读的文件行与下一行的全部字符拼接成的字符串保存至预设列表中;

步骤s204:遍历所述预设列表中的所有字符串,将所述字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

参照图3本实施例对应的示意图所示,每读一行文本中的内容,就取出读到的字符串进行判断,如果该字符串去掉换行符后,最后一个字符是英文连字符“-”,则说明存在于该行结尾的单词跨两行书写,存在于该行结尾和第二行开头,这时候,就去掉该行字符串结尾的换行符和连字符,拼接当前所读的文件行及往后再读一行所得的字符串为一个字符串,将此字符串和按传统方式逐行读得到的字符串都保存到一个列表中,遍历列表中的所有字符串,判断在所有这些字符串中是否有匹配的指定单词。

具体实现方式为用while循环逐行读文件,将文件内容的每一行读到字符串中。当遇到某行结尾出现连字符,将本行字符串保存到变量str中,置标志位为1,以便下次循环遍历的时候标志需要把下一行追加到str后面,加入一个判断,如果str的长度大于当前所读行的长度,说明str已经拼接完成,即已经将因为换行截断的单词,重新拼接成字符串,这时候将str保存到列表中,并清空str,将正常每行读到的内容也保存到列表中,读完文件后,for循环遍历列表,判断指定单词是否存在于文件中。

本申请所提供的文档中指定单词查找方法的又一种实施方式的示意图如图4所示,该方法为:当读到某行最后一个字符为连字符,就截取本行最后一个空格后面连字符前面的字符串,即本行最后一个单词,与下一行第一个空格前的单词拼接,成为一个完整的单词,再与指定单词匹配,如果匹配成功,则文档中存在指定单词,否则继续查找。

此种方法只需遍历一遍文件,通过设定两个变量,保存正常读取的文件内容和存在跨行现象的单词,放入一个列表中,最后遍历列表中字符串,查看是否有匹配的单词。并且只判断跨行单词,不必因为出现了跨行单词,两行都需保存以判断是否存在指定单词,节约了空间和时间。本实施例提供的方法还能够使得查找效率更高,进一步优化了单词匹配这一过程。

下面对本发明实施例提供的文档中指定单词查找装置进行介绍,下文描述的文档中指定单词查找装置与上文描述的文档中指定单词查找方法可相互对应参照。

图5为本发明实施例提供的文档中指定单词查找装置的结构框图,参照图5文档中指定单词查找装置可以包括:

数据读取模块100,用于逐行读取文件数据;

拼接模块200,用于当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;

查找模块300,用于将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

可选地,本申请所提供的文档中指定单词查找装置中,所述拼接模块用于:将当前所读的文件行与下一行的全部字符拼接成为一个字符串。

可选地,本申请所提供的文档中指定单词查找装置中,所述查找模块用于:将当前所读的文件行与下一行的全部字符拼接成的字符串保存至预设列表中;遍历所述预设列表中的所有字符串,将所述字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。

本实施例的文档中指定单词查找装置用于实现前述的文档中指定单词查找方法,因此文档中指定单词查找装置中的具体实施方式可见前文中的文档中指定单词查找方法的实施例部分,例如,数据读取模块100,拼接模块200,查找模块300,分别用于实现上述文档中指定单词查找方法中步骤s101,s102,s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本发明所提供的文档中指定单词查找装置,通过逐行读取文件数据;当判断当前所读的文件行末尾为连字符时,将当前所读的文件行的末尾字符与下一行的开头字符拼接为一个字符串;将生成的跨行字符串与指定单词进行匹配;如果匹配成功,则输出指定单词存在的查找结果。本申请通过将跨行单词拼接为完整的单词,在拼接后再进行指定单词的匹配查找,从而不会漏掉跨行的字符串,使得查找过程更加高效,查找结果也更加准确。

此外,本发明还提供了一种文档中指定单词查找设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种所述文档中指定单词查找方法的步骤。

此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述文档中指定单词查找方法的步骤。

本实施例的文档中指定单词查找设备、计算机可读存储介质用于实现前述的文档中指定单词查找方法,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

综上,本申请通过将跨行单词拼接为完整的单词,在拼接后再进行指定单词的匹配查找,从而不会漏掉跨行的字符串,使得查找过程更加高效,查找结果也更加准确。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的文档中指定单词查找方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1