一种关键字查找方法、计算设备及储存介质与流程

文档序号:26547046发布日期:2021-09-07 23:42阅读:65来源:国知局
一种关键字查找方法、计算设备及储存介质与流程

1.本发明涉及文档处理技术领域,特别涉及一种关键字查找方法、计算设备及储存介质。


背景技术:

2.随着互联网的快速发展,应用程序的开发越来越多,相应地,编辑类应用程序(例如文本编辑器)的开发也越来越多。为了方便用户在文档中查找关键字,目前已有的文本编辑器多具有全文查找功能,全文查找功能即在文档的全部内容中查找关键字的所有匹配项的功能,并以高亮的方式显示所有匹配项。但是上述方法在文档较大、满足查找条件的匹配项过多的场景下,由于文档较大,导致全文查找的速度慢,效率低。并且在匹配项过多时,执行过程中会占用过多设备资源,执行完毕后仍会占用过多内存以保存匹配项,导致资源占用过多,使得设备容易出现卡顿的情况,进而降低用户操作的响应速度。


技术实现要素:

3.为此,本发明提供一种关键字查找方法,以力图解决或者至少缓解上面存在的问题。
4.根据本发明的一个方面,提供了一种关键字查找方法,在计算设备中执行,计算设备中驻留有文本编辑器,方法包括:
5.在文本编辑器中打开目标文档,以显示目标文档的正文内容;
6.确定文本编辑器中当前显示正文内容的区域,作为当前可视区域;
7.响应用户输入关键字并触发查找接口的操作,判断当前可视区域中是否包括关键字的匹配项,若是,从当前可视区域中查找关键字的所有匹配项,若否,则确定下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项;
8.保存已查找的所有匹配项。
9.可选地,确定下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项的步骤包括:
10.从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,若从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向下移动当前可视区域,作为第一可视区域;
11.从第一可视区域中查找关键字的所有匹配项。
12.可选地,确定下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项的步骤包括:
13.从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项,若从当前可视区域的第一个字符位置处开始向前查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为
第一可视区域;
14.从第一可视区域中查找关键字的所有匹配项。
15.可选地,确定下一个可视区域,从确定的下一个可视区域中查找所述关键字的所有匹配项的步骤包括:
16.从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项,若从目标文档的第一个字符位置处开始向后查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为第一可视区域;
17.从所述第一可视区域中查找关键字的所有匹配项。可选地,从第一可视区域中查找关键字的所有匹配项的步骤包括:
18.以第一可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找关键字的所有匹配项;
19.其中,从当前可视区域中查找关键字的所有匹配项的步骤包括:
20.以当前可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找关键字的所有匹配项。
21.可选地,若没有从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,则方法还包括步骤:
22.判断是否开启循环查找功能,若是,则从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项,若否,则不改变当前可视区域;
23.若从当前可视区域的第一个字符位置处开始向前查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为第二可视区域;
24.以第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找关键字的所有匹配项。
25.可选地,若没有从当前可视区域的第一个字符位置处开始向前查找到关键字的第一个匹配项,则方法还包括步骤:
26.判断是否开启循环查找功能,若是,则从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,若否,则不改变当前可视区域;
27.若从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向下移动当前可视区域,作为第二可视区域;
28.以第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找关键字的所有匹配项。
29.可选地,若没有从当前可视区域的最后一个字符位置处开始向后查找到所述关键字的第一个匹配项,则方法还包括步骤:
30.判断是否开启循环查找功能,若是,则从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项,若否,则不改变当前可视区域;
31.若从目标文档的第一个字符位置处开始向后查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区
域,作为第二可视区域;
32.以第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找关键字的所有匹配项。可选地,还包括步骤:
33.响应用户的第一操作,将当前可视区域以所述第一操作相对应的方式进行移动,得到移动后的可视区域,作为第三可视区域;
34.以第三可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找关键字的所有匹配项。
35.可选地,第一操作包括触发翻页按键、拖动垂直滚动条、滑动鼠标滚轮、触发pgup按键、触发pgdn按键。
36.可选地,还包括步骤:
37.将已存储的匹配项更新为当前查找到的所有匹配项。
38.可选地,还包括步骤:
39.以高亮的形式显示已存储的所有匹配项。
40.根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的方法的指令。
41.根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的方法。
42.根据本发明的技术方案,提供了一种关键字查找方法,该方法是以文本编辑器当前显示正文内容的区域作为单次查找的区域,仅在该区域内查找关键字的匹配项,相当于已局部查找的方式从文档中查找关键字的匹配项,相比于全文查找,局部查找范围小、查找内容少,能够在查找过程中减少设备资源的占用,提高设备的响应速度,也减少查找所需的时间,提高查找速度。
43.另外,在查找关键字的匹配项的过程中,随着可视区域的更新,会不断更新已存储的匹配项,使得查找完成后仅保留最后一个可视区域中查找到的匹配项,并不会占用过多的内存资源,避免因存储匹配项占用过多设备资源导致设备出现卡顿的情况,进而提高针对用户操作的响应速度。
附图说明
44.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
45.图1示出了根据本发明一个实施例的计算设备100的示意图;
46.图2示出了根据本发明一个实施例的关键字查找方法200的流程图。
具体实施方式
47.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开
的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
48.应用程序,是为完成某项或多项特定工作的计算机程序。随着互联网技术的快速发展,针对各类应用程序的开发越来越多,因此,编辑类应用程序(例如文本编辑器)的开发也越来越多。为了方便用户在文档中查找关键字,目前已有的文本编辑器多具有全文查找功能,全文查找功能即在文档的全部内容中查找关键字的所有匹配项的功能,并以高亮的方式显示所有匹配项。例如,用户需要查找关键词“v iew”的匹配项,触发文本编辑器的查找接口之后弹出输入框,在输入框中输入关键字“view”,并触发搜索接口,在文档的全部内容中查找到关键字“view”的所有匹配项,以高亮的方式显示匹配项。
49.但是上述方法在文档较大、满足查找条件的匹配项过多的场景下,由于文档较大,导致全文查找的速度慢,效率低。并且在匹配项过多时,执行过程中为了存储匹配项会占用过多设备资源,执行完毕后仍会占用过多内存以保存匹配项,导致资源占用过多,使得设备容易出现卡顿的情况,进而降低针对用户操作的响应速度。
50.为此,本发明提供了一种关键字查找方法,该方法在计算设备中执行。图1示出了根据本发明一个实施例的计算设备100的结构图。计算设备100的框图如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
51.取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
52.取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。程序数据124包括指令,在根据本发明的计算设备100中,程序数据124包含用于执行关键字查找方法200的指令。
53.计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。本发明中,程序执行过程中发生的各事件的相关数据和指示各事件发生的时间信息,可存储于储存设备132中,操作系统120适于管理储存设备132。其中,储存设备132可为磁盘。
54.计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸
输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
55.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(i r)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
56.计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和web服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(pda)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行根据本发明的一种关键字查找方法200。
57.图2示出了根据本发明一个实施例的关键字查找方法200的流程图。方法200适于在计算设备100(例如前述计算设备100)中执行。需要说明的是,计算设备100中预先安装有文本编辑器,文本编辑器适于打开目标文档,本发明并不对文本编辑器进行限制,所有的文本编辑器均在本发明的保护范围之内。例如,文本编辑器为qt creator文本编辑器。如图2所示,关键字查找方法200始于步骤s210,在步骤s210中,在文本编辑器中打开目标文档,以显示目标文档的正文内容。
58.在文本编辑器中打开目标文档后,执行步骤s220,确定文本编辑器中当前显示正文内容的区域,作为当前可视区域。由于文本编辑器可以全屏或者非全屏显示目标文档,并且还可对目标文档在文本编辑器中进行放大或者缩小显示,因此当前显示区域大小根据实际应用场景设置即可,本发明对此不做限制,只要满足将文本编辑器中当前显示正文内容的区域作为当前可视区域即可。例如,当文本编辑器全屏显示时,以显示器中显示正文内容的区域(不包括文本编辑器的工具列表)作为当前可视区域,当文本编辑器非全屏显示时,以文本编辑器中当前显示正文内容的区域(同样不包括文本编辑器的工具列表)作为当前可视区域。
59.例如,首次打开目标文档时,在文本编辑器中显示文档首页内容,那么以文档首页内容作为当前可视区域。若非首次打开目标文档,则在文本编辑器中显示上一次关闭目标文档时浏览的页面,那么以上一次关闭目标文档时浏览的页面作为当前可视区域。
60.确定当前可视区域后,响应用户在文本编辑器的用户界面触发查找接口的操作,弹出输入框,用户可在输入框内输入关键字,并触发搜索接口。响应用户输入关键字并触发搜索接口的操作,执行步骤s230,判断当前可视区域中是否包括关键字的匹配项,若是,执行步骤s240,从当前可视区域中查找关键字的所有匹配项。在一个实施方式中,以当前可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。
61.若当前可视区域中不包括关键字的匹配项,执行步骤s250,确定下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项,即重新确定可视区域,从重新确定的可视区域中查找关键字的所有匹配项。在一个实施方式中,默认是从当前可视区域之后继续查找关键字的第一个匹配项,具体地,从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,若在目标文档的结束位置之前查找到关键字的第一个匹配项,则停止查找操作,在查找到关键字的第一个匹配项之后即停止查找操作,可以减少确定下一个可视区域的时间,从而提高确定下一个可视区域的效率。并以第一个匹配项所在行作为第一行,向下移动当前可视区域,作为下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项。
62.当然,本发明并不限制在当前可视区域之前或者之后查找关键字的第一个匹配项,因此,也可以从当前可视区域的第一个字符位置处开始向前继续查找关键字的第一个匹配项,在一个实施方式中,从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项,若在当前可视区域第一个字符位置处开始向前查找到关键字的第一个匹配项,则停止查找操作,并以第一个匹配项所在行作为第一行,向上移动当前可视区域,作为下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项。或者,也可以从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项,若从目标文档的第一个字符位置处开始向后查找到关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为下一个可视区域,从确定的下一个可视区域中查找关键字的所有匹配项。
63.以下将以当前可视区域中不包括关键字的匹配项、从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项的情况为例,对确定下一个可视区域、并从确定的下一个可视区域中查找关键字的所有匹配项的具体工作过程进行说明:
64.在当前可视区域中不包括关键字的匹配项、从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项、若在目标文档的结束位置之前查找到关键字的第一个匹配项的情况下,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向下移动当前可视区域,作为第一可视区域,以第一可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。
65.在当前可视区域中不包括关键字的匹配项、从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项、若没有在目标文档的结束位置之前查找到关键字的第一个匹配项的情况下,继续判断是否开启循环查找(循环查找即在目标文档的部分文本中查找匹配项之后,再跳转至其他未查找的文本处进行查找)功能,若开启,则从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项,若未开启循环查找功能,则不改变当前可视区域,即不再从当前可视区域之前的文本中查找关键字的第一个匹配项,也就是说,在当前可视区域和当前可视区域之后的文本中没有查找到关键字的匹配项,此时不对当前可视区域做任何改变。
66.需要说明的是,若开启循环查找功能,则在当前可视区域之后的文本中没有查找到关键字的第一个匹配项之后,继续从当前可视区域之前的文本中查找关键字的第一个匹配项。或者,在当前可视区域之前的文本中没有查找到关键字的第一个匹配项后,再从当前
可视区域之后的文本中查找关键字的第一个匹配项。若未开启循环查找功能,则在当前可视区域之后的文本中没有查找到关键字的第一个匹配项之后,或者,在当前可视区域之前的文本中没有查找到关键字的第一个匹配项之后,不再进行查找操作。
67.在当前可视区域中不包括关键字的匹配项、从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项、若在目标文档结束位置之前没有查找到关键字的第一个匹配项、以及开启循环查找功能的情况下,会继续从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项,若在当前可视区域的第一个字符位置处开始向前查找到关键字的第一个匹配项,停止查找操作,并将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为第二可视区域。以第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。若在当前可视区域的第一个字符之前没有查找到关键字的第一个匹配项,即在目标文档中没有查找到关键字的匹配项,此时不改变当前可视区域和当前可视区域中的文本。
68.以下将以当前可视区域中不包括关键字的匹配项、从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项的情况为例,对确定下一个可视区域、并从确定的下一个可视区域中查找关键字的所有匹配项的具体工作过程进行说明:
69.在当前可视区域中不包括关键字的匹配项、从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项、若在当前可视区域第一个字符之前查找到关键字的第一个匹配项的情况下,则停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为第一可视区域,以第一可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。
70.在当前可视区域中不包括关键字的匹配项、从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项、若在当前可视区域第一个字符之前没有查找到关键字的第一个匹配项的情况下,继续判断是否开启循环查找功能,若开启,则从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,若未开启循环查找功能,则不改变当前可视区域,即不再从当前可视区域之后的文本中查找关键字的第一个匹配项,也就是说,在当前可视区域和当前可视区域之前的文本中没有查找到关键字的匹配项,此时不改变当前可视区域和当前可视区域中的文本。
71.在当前可视区域中不包括关键字的匹配项、从当前可视区域的第一个字符位置处开始向前查找关键字的第一个匹配项、若在当前可视区域第一个字符之前没有查找到关键字、以及开启循环查找功能的情况下,会从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,进一步地,若从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,停止操作操作,并将已查找的第一个匹配项所在行作为可视区域的第一行,向下移动当前可视区域,作为第二可视区域。以第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。若直至目标文档结束位置处,仍未从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,则不改变当前可视区域,即在目标文档中没有查找到关键字的匹配项,此时不改变当前可视区域和当前显示区域中的文本。
72.以下将以当前可视区域中不包括关键字的匹配项、从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项的情况为例,对确定下一个可视区域、并从确定的下一个可视区域中查找关键字的所有匹配项的具体工作过程进行说明:
73.在当前可视区域中不包括关键字的匹配项、从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项、若直至当前可视区域第一个字符位置之前查找到关键字的第一个匹配项的情况下,则停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向上移动当前可视区域,作为第一可视区域,以第一可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。
74.在当前可视区域中不包括关键字的匹配项、从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项、若直至当前可视区域第一个字符位置处没有查找到关键字的第一个匹配项的情况下,继续判断是否开启循环查找功能,若开启,则从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,若未开启循环查找功能,则不改变当前可视区域,即不再从当前可视区域之后的文本中查找关键字的第一个匹配项,也就是说,在当前可视区域和当前可视区域之前的文本中没有查找到关键字的匹配项,此时不改变当前可视区域和当前可视区域中的文本。
75.在当前可视区域中不包括关键字的匹配项、从目标文档的第一个字符位置处开始向后查找关键字的第一个匹配项、若直至当前可视区域第一个字符位置处没有查找到关键字、以及开启循环查找功能的情况下,会从当前可视区域的最后一个字符位置处开始向后查找关键字的第一个匹配项,进一步地,若从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,停止操作操作,并将已查找的第一个匹配项所在行作为可视区域的第一行,向下移动当前可视区域,作为第二可视区域。以第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项。若直至目标文档结束位置处,仍未从当前可视区域的最后一个字符位置处开始向后查找到关键字的第一个匹配项,则不改变当前可视区域,即在目标文档中没有查找到关键字的匹配项,此时不改变当前可视区域和当前显示区域中的文本。
76.在当前可视区域中不包括关键字的匹配项时,需要重新确定可视区域,以下为重新确定可视区域的关键性代码示例:
[0077][0078]
在从当前可视区域内或者重新确定的可视区域(即确定的下一个可视区域)内查找到关键字的所有匹配项之后,执行步骤s260,保存已查找的所有匹配项,在一个实施方式中,将已查找的所有匹配项保存至内存中,并以高亮形式显示内存中已存储的所有匹配项。
[0079]
之后,用户执行第一操作的动作,此时为了防止跳页的情况出现,响应用户的第一操作,将当前可视区域以第一操作相对应的方式进行移动,得到移动后的可视区域,作为第三可视区域。其中,第一操作包括触发翻页按键、拖动垂直滚动条、滑动鼠标滚轮、触发pgup按键、触发pgdn按键。值得注意的是,若用户触发的是翻页按键(包括向上翻页按键和向下翻页按键),则将当前可视区域向上或者向下移动一行的位置,若用户触发的是pgup按键,则将当前可视区域向上移动一个可视区域的位置,若用户触发的是pgdn按键,则将当前可视区域向下移动一个可视区域的位置。若用户向左或者向右拖动垂直滚动条,则将当前可视区域向左或者向右移动与用户拖动垂直滚动条相对应幅度的位置。若用户向上或者向下滑动鼠标滚轮,则将当前可视区域向上或者向下移动与用户滑动鼠标滚轮相对应幅度的位置。
[0080]
并以第三可视区域中的第一个字符和最后一个字符为起始位置,在起始位置之中逐个字符查找关键字的所有匹配项。此时,为了防止在查找过程中,由于存储过多的匹配项导致内存占用过多,从而使得设备出现卡顿的情况出现,更新当前显示区域后,会将已存储的所有匹配项更新为在当前可视区域中查找到的所有匹配项,相当于仅存储当前可视区域中关键字的所有匹配项,而不是存储文档中所包含的关键字的所有匹配项,减少匹配项所占用的内存资源,避免设备出现卡顿现象,从而提高针对用户操作的响应效率。之后,同样以高亮形式显示内存中当前存储的所有匹配项。
[0081]
在一个实施方式中,以下为以第一可视区域、第二可视区域、第三可视区域中的第
一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间逐个字符查找关键字的所有匹配项,并以高亮形式显示所有匹配项的关键性代码示例:
[0082][0083][0084]
由上述内容可知,本发明的关键字查找方法中,以文本编辑器当前显示正文内容的区域作为单次查找的区域,仅在该区域内查找关键字的匹配项,相当于局部查找关键字的匹配项,相比于全文查找的方式,局部查找范围小、查找内容少,能够在查找过程中减少设备资源的占用,提高设备的响应速度,也减少查找所需的时间,提高查找速度。
[0085]
a9、如a4所述的方法,其中,若从所述目标文档的第一个字符位置处开始向后,直至所述当前可视区域的第一个字符位置处没有查找到所述关键字的第一个匹配项,则所述方法还包括步骤:
[0086]
判断是否开启循环查找功能,若是,则从所述当前可视区域的最后一个字符位置处开始向后查找所述关键字的第一个匹配项,若否,则不改变所述当前可视区域;
[0087]
若从所述当前可视区域的最后一个字符位置处开始向后查找到所述关键字的第一个匹配项,停止查找操作,将已查找的第一个匹配项所在行作为可视区域的第一行,向下移动所述当前可视区域,作为第二可视区域;
[0088]
以所述第二可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找所述关键字的所有匹配项。
[0089]
a10如a1至a9中任一项所述的方法,还包括步骤:
[0090]
响应用户的第一操作,将所述当前可视区域以所述第一操作相对应的方式进行移动,得到移动后的可视区域,作为第三可视区域;
[0091]
以所述第三可视区域中的第一个字符为开始位置、最后一个字符为结束位置,从开始位置至结束位置之间查找所述关键字的所有匹配项。
[0092]
a11如a10所述的方法,其中,所述第一操作包括触发翻页按键、拖动垂直滚动条、滑动鼠标滚轮、触发pgup按键、触发pgdn按键。
[0093]
a12如a10或a11所述的方法,还包括步骤:
[0094]
将已存储的匹配项更新为当前查找到的所有匹配项。
[0095]
a13如a1至a12中任一项所述的方法,还包括步骤:
[0096]
以高亮的形式显示已存储的所有匹配项。
[0097]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd

rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0098]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的关键字查找方法。
[0099]
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0100]
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0101]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0102]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0103]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0104]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0105]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0106]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0107]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0108]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本
发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1