电子书中标记位置的修正方法及计算设备与流程

文档序号:15850999发布日期:2018-11-07 09:55阅读:184来源:国知局
电子书中标记位置的修正方法及计算设备与流程

本发明涉及电子书技术领域,具体涉及一种电子书中标记位置的修正方法及计算设备。

背景技术

目前,随着互联网技术的迅速发展和手机等移动终端的普及,利用手机等移动终端获取信息已经成为一种常态,尤其在阅读方面,越来越多的阅读爱好者选择用电子书替换传统的纸质书。

现有的提供电子书服务的平台,在向手机用户或阅读器用户提供基础的电子书阅读服务的同时,为了进一步丰富用户与平台的交互方式,并增强用户的参与度,平台还会向用户提供一些对电子书内容进行修改的功能,例如,对电子书中人名、地名等特定词进行替换的功能。但是,由于电子书中的批注、划线等标记是以偏移值的形式存储的,在对修改后的电子书内容进行排版后,标记依然会显示在存储的偏移值对应的位置,此时,则会出现标记错位的情况。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的电子书中标记位置的修正方法及计算设备。

根据本发明的一个方面,提供了一种电子书中标记位置的修正方法,包括:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

根据本发明的又一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

根据本发明的电子书中标记位置的修正方法及计算设备,其中,方法包括:针对电子书中的任一标记,获取标记的起始位置偏移值,以及获取至少一个特定词的首字符偏移值;根据标记的起始位置偏移值以及至少一个特定词的首字符偏移值,查找是否存在首字符位置位于标记的起始位置之前的一个或多个特定词;若存在,根据一个或多个特定词及其对应的替换词的字符数量的差异情况,对标记的位置进行修正处理。本发明提供了一种对标记的位置进行统一的修正处理的方案,可以在对电子书中的至少一个特定词进行替换处理的过程中,根据首字符位置位于标记的起始位置之前的一个或多个特定词及其替换词的字符数量的差异情况,对标记位置进行修正,避免因替换处理过程中字符数量的改变而造成标记错位的情况发生。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的电子书中标记位置的修正方法的流程图;

图2示出了根据本发明另一个实施例的电子书中标记位置的修正方法的流程图;

图3示出了本发明一个具体实施例中标记和至少一个特定词的相对位置关系的示意图;

图4示出了与图3对应的经修正处理后的标记的位置的示意图;

图5示出了对经修正处理的标记的结束位置偏移值进行调整的步骤的子流程图;

图6示出了不能准确覆盖至替换处理前覆盖的内容的两种情况的示意图;

图7示出了对应图6的两种情况的调整结果的示意图;

图8示出了根据本发明实施例的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的电子书中标记位置的修正方法的流程图。如图1所示,该方法包括以下步骤:

步骤s110:针对电子书中的任一标记,获取标记的起始位置偏移值,以及获取至少一个特定词的首字符偏移值。

当对电子书中的至少一个特定词进行替换处理时,为使替换处理后的电子书中的各个标记不发生错位,在本发明中,针对电子书中的任一标记,根据替换处理前标记和至少一个特定词的相对位置关系、以及根据替换处理过程中字符数量发生的变化,来对标记的位置进行修正处理。

本发明实施例中,标记是指:用户在阅读电子书的过程中,针对电子书中的文本内容所做的记录标识,可选的,标记包括批注及划线,但不限于此。

偏移值表征出字符或标记在电子书的位置。一般来说,偏移值以电子书的单位范围内的字符数来标定,例如以章节范围来标定为例,针对任一章节,该章节中的每个字符的偏移值为该章节中位于该字符之前的字符总数加1。例如,电子书第三章节的第17个字符的偏移值即为17。可选地,偏移值也可以其它单位范围内的字符数来标定,例如单位范围为整本电子书或者为一个段落等等。

需要说明的是,本发明实施例的方法的执行范围与偏移值标定的单位范围一致。若偏移值以章节范围来标定,则本发明实施例的方法也以章节范围来执行,即针对每一章节来执行本发明实施例的方法。

在本步骤中,针对电子书中的任一标记,通过获取标记的起始位置偏移值,以及获取至少一个特定词的首字符偏移值,以确定标记和至少一个特定词的相对位置关系。

步骤s120:根据标记的起始位置偏移值以及至少一个特定词的首字符偏移值,查找是否存在首字符位置位于标记的起始位置之前的一个或多个特定词。若是,则执行步骤s130;若否,则本方法结束。

在获取了标记的起始位置偏移值和至少一个特定词的首字符偏移值之后,根据获取的偏移值确定标记和至少一个特定词的相对位置关系。具体地,针对一个标记和一个特定词,标记和特定词的相对位置关系包括:特定词的首字符位置在标记的起始位置之前,特定词的首字符位置与标记的起始位置相同,或者,特定词的首字符位置在标记的起始位置之后。

在本发明中,当特定词的首字符位置在标记的起始位置之前时,对该特定词进行替换处理,则必定会造成标记的位置错位。基于此,在本步骤中,查找是否存在首字符位置位于标记的起始位置之前的一个或多个特定词,若存在,则表明对该一个或多个特定词进行替换处理,会造成标记的位置错位,则执行步骤s130,以对标记的位置进行修正处理;若不存在,则本方法结束。

步骤s130:根据一个或多个特定词及其对应的替换词的字符数量的差异情况,对标记的位置进行修正处理。

其中,字符数量的差异情况指:针对该一个或多个特定词进行替换处理前,一个或多个特定词的总字符数量,与针对该一个或多个特定词进行替换处理后,一个或多个特定词对应的替换词的总字符数量的差异情况。

具体地,根据该差异情况,对标记的位置进行修正处理,以将标记的位置调整到合理覆盖相应的字符的位置。可选的,可通过对标记的起始位置偏移值和/或结束位置偏移值进行处理,以修正标记的位置。

根据本实施例提供的电子书中标记位置的修正方法,针对电子书中的任一标记,获取标记的起始位置偏移值,以及获取至少一个特定词的首字符偏移值;根据标记的起始位置偏移值以及至少一个特定词的首字符偏移值,查找是否存在首字符位置位于标记的起始位置之前的一个或多个特定词;若存在,根据一个或多个特定词及其对应的替换词的字符数量的差异情况,对标记的位置进行修正处理。本实施例提供了一种对标记的位置进行统一的修正处理的方案,可以在对电子书中的至少一个特定词进行替换处理的过程中,根据首字符位置位于标记的起始位置之前的一个或多个特定词及其替换词的字符数量的差异情况,对标记位置进行修正,避免因替换处理过程中字符数量的改变而造成标记错位的情况发生。

图2示出了根据本发明另一个实施例的电子书中标记位置的修正方法的流程图。如图2所示,该方法包括以下步骤:

步骤s210:针对电子书中的任一标记,获取标记的起始位置偏移值,以及获取至少一个特定词的首字符偏移值。

本实施例方案可以在以下任一时机执行:在替换处理的过程中,实时根据替换处理的情况,利用本实施例方案对标记位置进行修正处理,进而可以在用户无感知的情况下实现标记位置的修正;或者,在替换处理完成后,根据替换处理针对的至少一个特定词和替换处理的结果,利用本实施例方案对标记位置进行修正处理,以实现对错位的标记进行及时的修正。

步骤s220:根据标记的起始位置偏移值以及至少一个特定词的首字符偏移值,查找是否存在首字符位置位于标记的起始位置之前的一个或多个特定词。若是,则执行步骤s230;若否,则执行步骤s240。

在本实施例中,以偏移值在章节范围内标定为例进行说明。标记和特定词的相对位置关系可通过偏移值的比较来衡量:偏移值越小,则对应在电子书中相应章节的位置越靠前。若特定词的首字符偏移值小于标记的起始位置偏移值,则确定特定词的首字符位置在标记的起始位置之前。

具体地,由于对首字符在标记的起始位置之前的特定词进行替换处理,会造成标记的位置错位,则在通过以上方式确定了标记与特定词的相对位置关系后,判断是否存在首字符偏移值小于标记的起始位置偏移值的一个或多个特定词。若存在则执行步骤s230,以对标记的位置进行修正处理;若不存在,则执行步骤s240。

图3示出了本发明一个具体实施例中标记和至少一个特定词的相对位置关系的示意图。如图3所示,需要进行替换处理的特定词为“小王子”,本页共3个,标记为对“小行星”的批注(即图3中的双竖线中的内容,但是批注的具体内容图3中未示出);并且,本页为该章节的第一页,第一个字“要”的偏移值为1。图3中,批注覆盖的文本“小行星”的第一个字符的偏移值为90,即批注的起始位置偏移值为90,批注的结束位置偏移值为92,而第一个“小王子”和第二个“小王子”的首字符偏移值(分别为8和80)均小于批注的起始位置偏移值(90),第三个“小王子”的首字符偏移值(120)大于批注的起始位置偏移值(90),则可以确定对前两个“小王子”进行替换处理后,若替换词与特定词的字符长度不一致,批注则不能覆盖文本“小行星”,即会发生错位,进而失去了该批注本身的意义。针对这种情况,则需要执行步骤s230,对批注的位置进行修正处理。而对第三个“小王子”进行替换处理并不会产生上述情况,则执行步骤s240。需要注意的,本发明中的附图中(包括图3、图4、图6和图7),特定词下方的直线以及标出的偏移值仅仅是起到示意作用的图标,在本方法的实际运用过程中并不需显示此种示意作用的图标。

另外,图3中示出特定词和标记的相对位置关系仅为示例性的,本发明并不以此为限。在本发明的一些具体实施例中,特定词和标记也可以部分或完全重叠;或者,在本发明的另一些具体实施例中,标记可以在所有的特定词之后,或者在所有的特定词之前;并且,图3中示出的特定词也仅为示例性的,在本发明的又一些具体实施例中,至少一个特定词也可以是多个不同的特定词,例如,至少一个特定词可以是3个“小王子”和1个“小羊”。

步骤s230:根据一个或多个特定词及其对应的替换词的字符数量的差异情况,对标记的位置进行修正处理。

其中,对标记的位置进行修正处理包括对标记的起始位置和结束位置进行修正。

首先,根据一个或多个特定词及其对应的替换词的字符数量的差异情况,对标记的起始位置偏移值进行修正处理,进而实现对标记的起始位置的修正。进一步的,对于标记的起始位置偏移值可通过如下方式进行修正:若一个或多个特定词的总字符数量少于一个或多个特定词对应的替换词的总字符数量,则对标记的起始位置偏移值进行增加处理,增加处理的数值与一个或多个特定词的总字符数量少于一个或多个特定词对应的替换词的总字符数量的具体数值一致;若一个或多个特定词的总字符数量多于一个或多个特定词对应的替换词的总字符数量,则对标记的起始位置偏移值进行减小处理,减小处理的数值与一个或多个特定词的总字符数量多于一个或多个特定词对应的替换词的总字符数量的具体数值一致;若一个或多个特定词的总字符数量等于一个或多个特定词对应的替换词的总字符数量,保持标记的起始位置偏移值不变。

然后,根据标记覆盖的字符长度以及经修正处理的标记的起始位置偏移值,对标记的结束位置偏移值进行修正处理。在本实施例中,对至少一个特定词进行替换处理,并确定了经修正处理的标记的起始位置偏移值后,依然保持标记覆盖的字符长度不变,据此修正标记的结束位置偏移值,进而实现对标记的结束位置的修正。

图4示出了与图3对应的经修正处理后的标记的位置的示意图。如图4所示,将图3中的三个“小王子”替换为“哈利波特”,替换之后,“小行星”的首字符偏移值由90更新为92,末字符偏移值由92更新为94,若仍按照未进行替换处理前的批注的起始位置偏移值和结束位置偏移值显示该批注,则批注覆盖的文本为“就是小”,这显然不是做批注原本的意图。而通过本步骤发现,首字符偏移值小于批注的起始位置偏移值的两个“小王子”替换为“哈利波特”之后,字符总数增加了2,则将批注的起始位置偏移值增加2,得到经修正处理的批注的起始位置偏移值为92;然后,保持批注覆盖的字符长度为3不变,将批注的结束位置偏移值也增加2,得到经修正处理的批注的结束位置偏移值为94,此时,经修正处理的批注的起始位置偏移值和结束位置偏移值与“小行星”的首字符偏移值和末字符偏移值一致。

另外,图4中示出的替换处理的方式也仅为示例性的,本发明并不以此为限,在本发明的一些具体实施例中,替换处理可以是替换词的字符长度多于特定词的字符长度,即图4示出的情况;在本发明的另一些具体实施例中,替换处理可以是替换词的字符长度少于特定词的字符长度,或者,替换词的字符长度等于特定词的字符长度。

步骤s240:若不存在首字符位置位于标记的起始位置之前的一个或多个特定词,则保持标记的位置不变。

在经过步骤s230和步骤s240的修正处理之后发现:对于替换处理前完全覆盖一个特定词的标记,可能出现经修正处理的标记的结束位置不能准确覆盖至替换处理前覆盖的相应内容的情况。

图6示出了不能准确覆盖至替换处理前覆盖的内容的两种情况的示意图。如图6所示,在替换处理前,下划线61覆盖第一个“小王子”,若将“小王子”替换为“哈利波特”,则经过上述步骤s204的修正处理之后,下划线61只能覆盖“你对他们说哈利波”,而不能完全覆盖完整的名字“哈利波特”,若将“小王子”替换为“哪吒”,则经上述步骤s204修正处理后的下划线61会覆盖“你对他们说哪吒存”,则会覆盖多余的字符;下划线62覆盖第二个“小王子”,分别经过上述两种相同的替换处理后,再经过步骤s203的修正处理,下划线62分别覆盖“你对他们说哈利波特来自的星”、“你对他们说哈利波特来自的星球就”,即下划线62会不能完全覆盖替换处理前覆盖的内容,或者,会覆盖多余的字符。

为了克服图6示出的这种异常情况,利用本实施例的下述可选步骤s250进行优化,以使标记的覆盖范围符合用户意图:

步骤s250:判断标记是否完全覆盖至少一个特定词中的任一特定词,若是,则对经修正处理的标记的结束位置偏移值进行调整。

具体地,判断标记是否完全覆盖至少一个特定词中的任一特定词;若包括,则根据标记覆盖的文本内容确定用户做该标记的意图,并对经修正处理的标记的结束位置偏移值进行调整,以使标记的覆盖范围仍然符合用户意图。

图5示出了对经修正处理的标记的结束位置偏移值进行调整的步骤的子流程图。如图5所示,步骤s250进一步包括:

步骤s251:判断标记是否完全覆盖至少一个特定词中的任一特定词;若是,则执行步骤s252;若否,则本子流程结束。

在对电子书中的至少一个特定词进行替换处理前,判断标记是否完全覆盖至少一个特定词中的任一特定词,具体的判断方式为:将至少一个特定词的首字符偏移值和末字符偏移值分别与标记的起始位置偏移值和结束位置偏移值进行比较,确定至少一个特定词是否在标记的起始位置偏移值和结束位置偏移值对应的范围内,进而判断出标记是否完全覆盖至少一个特定词中的任一特定词。

具体地,若判定标记完全覆盖至少一个特定词中的任一特定词,则认为可能出现上述提及的两种标记不能准确覆盖之前覆盖的相应内容的情况,则执行步骤s252,以确定用户做该标记的意图;若判定标记未完全覆盖至少一个特定词中的任一特定词,则本子流程结束。

步骤s252:记录标记的结束位置对应的标记结束字符。

具体地,记录标记的结束位置对应的标记结束字符,若标记结束字符是完全覆盖的特定词的末字符,则确定用户做该标记的意图为:使标记的结束位置恰好覆盖至该特定词的末字符,而不覆盖该特定词之后的多余字符;若标记结束字符是完全覆盖的特定词之后的其它字符,则确定用户做该标记的意图为:使标记的结束位置不仅仅覆盖该特定词,还覆盖特定词之后的直至标记结束字符的其它字符。

步骤s253:判断标记的结束位置对应的标记结束字符是否为被完全覆盖的特定词中的字符;若是,则执行步骤s254;若否,则执行步骤s255。

具体地,根据标记的结束位置偏移值和完全覆盖的特定词的末字符的偏移值,判断标记的结束位置对应的标记结束字符是否为被完全覆盖的特定词中的字符。若判定标记的结束位置对应的标记结束字符是被完全覆盖的特定词中的字符,则执行步骤s254,以使标记的结束位置恰好覆盖至该特定词的替换词的末字符位置;若判定标记的结束位置对应的标记结束字符不是被完全覆盖的特定词中的字符,则执行步骤s255,以保持标记的结束位置覆盖至标记结束字符位置不变。

仍以图6为例,图6中下划线61的标记结束字符为特定词中的字符,针对下划线61,在将“小王子”替换为“哈利波特”时,经步骤s204的修正处理后,进一步执行步骤s254,以调整下划线61的结束位置偏移值,使下划线61的结束位置恰好覆盖至“哈利波特”的末字符位置;下划线62的标记结束字符不是特定词中的字符,针对下划线62,在将“小王子”替换为“哈利波特”时,经步骤s203的修正处理后,进一步执行步骤s255,以调整下划线62的结束位置偏移值,使下划线62的结束位置依然保持覆盖至标记结束字符位置不变。

步骤s254:将经修正处理的标记的结束位置偏移值调整为被完全覆盖的特定词的替换词的末字符偏移值。

具体地,将被完全覆盖的特定词的替换词的末字符偏移值赋值给经修正处理的标记的结束位置偏移值,使调整后的标记的结束位置偏移值与替换词的末字符偏移值一致。

步骤s255:在经修正处理的标记的结束位置偏移值前后的预设范围内,搜索标记结束字符;若在预设范围内搜索到标记结束字符,则将经修正处理的标记的结束位置偏移值调整为标记结束字符对应的偏移值。

具体地,搜索到标记结束字符后,通过调整经修正处理的标记的结束位置偏移值,使其与搜索到的标记结束字符对应的偏移值一致,进而使调整后的标记的结束位置恰好覆盖至标记结束字符的位置。

更进一步的,若在预设范围内搜索到多个标记结束字符,则将经修正处理的标记的结束位置偏移值调整为距离经修正处理的标记的结束位置最近的标记结束字符对应的偏移值,以提高调整结果的合理性。

图7示出了对应图6的两种情况的调整结果的示意图。如图7所示,将“小王子”替换为“哈利波特”时,针对下划线61,经过修正处理,其起始位置偏移值和结束位置偏移值保持不变(分别为3和10),然后将结束位置偏移值由10调整至“哈利波特”的末字符偏移值11,进而使调整后的下划线61的结束位置恰好覆盖至替换词“哈利波特”的末字符“特”;针对下划线62,,经过修正处理,其起始位置偏移值和结束位置偏移值分别为3和88,通过搜索,在偏移值为89的位置搜索到字符“球”,然后将修正处理后的结束位置偏移值由88调整至89,进而使调整后的下划线62的结束位置保持覆盖至字符“球”的位置。

根据本实施例提供的电子书中标记位置的修正方法,首先根据至少一个特定词和标记的相对位置关系,以及根据字符数量的差异情况,对标记的起始位置偏移值和结束位置偏移值进行统一的修正处理;然后,在上述修正处理的基础上,针对标记完全覆盖特定词的情况,对经修正处理的标记的结束位置进行调整,以弥补上述修正处理对标记的覆盖范围产生影响的不足,进而使标记的覆盖范围符合用户意图。由此可见,本实施例不仅提供了一种对标记的位置进行统一的修正处理的方案,简化了修正处理的流程;并且,通过调整经修正处理的标记的结束位置,来维持标记的结束位置覆盖的相应内容不变,使呈现给用户的标记能够准确体现出标记的意图,进而提升了用户的使用体验。

本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的电子书中标记位置的修正方法。

可执行指令具体可以用于使得处理器执行以下操作:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

在一种可选的实施方式中,所述可执行指令还使所述处理器执行以下操作:

若不存在首字符位置位于所述标记的起始位置之前的一个或多个特定词,则保持所述标记的位置不变。

在一种可选的实施方式中,所述可执行指令进一步使所述处理器执行以下操作:

判断是否存在首字符偏移值小于所述标记的起始位置偏移值的一个或多个特定词。

在一种可选的实施方式中,所述可执行指令进一步使所述处理器执行以下操作:

若所述一个或多个特定词的总字符数量少于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行增加处理;

若所述一个或多个特定词的总字符数量多于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行减小处理;

若所述一个或多个特定词的总字符数量等于所述一个或多个特定词对应的替换词的总字符数量,保持所述标记的起始位置偏移值不变。

在一种可选的实施方式中,所述可执行指令进一步使所述处理器执行以下操作:

根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的起始位置偏移值进行修正处理;

根据所述标记覆盖的字符长度以及经修正处理的所述标记的起始位置偏移值,对所述标记的结束位置偏移值进行修正处理。

在一种可选的实施方式中,所述可执行指令还使所述处理器执行以下操作:

在对所述电子书中的至少一个特定词进行替换处理前,判断所述标记是否完全覆盖所述至少一个特定词中的任一特定词,若是,则记录所述标记的结束位置对应的标记结束字符;

若所述标记完全覆盖所述至少一个特定词中的任一特定词,则对经修正处理的标记的结束位置偏移值进行调整。

在一种可选的实施方式中,所述可执行指令进一步使所述处理器执行以下操作:

判断所述标记的结束位置对应的标记结束字符是否为被完全覆盖的所述特定词中的字符;

若是,则将经修正处理的标记的结束位置偏移值调整为被完全覆盖的所述特定词的替换词的末字符偏移值;

若否,则在经修正处理的标记的结束位置偏移值前后的预设范围内,搜索所述标记结束字符;若在所述预设范围内搜索到所述标记结束字符,则将经修正处理的标记的结束位置偏移值调整为所述标记结束字符对应的偏移值。

在一种可选的实施方式中,所述可执行指令进一步使所述处理器执行以下操作:

将经修正处理的标记的结束位置偏移值调整为距离经修正处理的所述标记的结束位置最近的标记结束字符对应的偏移值。

图8示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图8所示,该计算设备可以包括:处理器(processor)802、通信接口(communicationsinterface)804、存储器(memory)806、以及通信总线808。

其中:

处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。

通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器802,用于执行程序810,具体可以执行上述电子书中标记位置的修正方法实施例中的相关步骤。

具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。

处理器802可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器806,用于存放程序810。存储器806可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序810具体可以用于使得处理器802执行以下操作:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

在一种可选的实施方式中,程序810具体还用于使得处理器802执行以下操作:

若不存在首字符位置位于所述标记的起始位置之前的一个或多个特定词,则保持所述标记的位置不变。

在一种可选的实施方式中,程序810具体进一步用于使得处理器802执行以下操作:

判断是否存在首字符偏移值小于所述标记的起始位置偏移值的一个或多个特定词。

在一种可选的实施方式中,程序810具体进一步用于使得处理器802执行以下操作:

若所述一个或多个特定词的总字符数量少于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行增加处理;

若所述一个或多个特定词的总字符数量多于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行减小处理;

若所述一个或多个特定词的总字符数量等于所述一个或多个特定词对应的替换词的总字符数量,保持所述标记的起始位置偏移值不变。

在一种可选的实施方式中,程序810具体进一步用于使得处理器802执行以下操作:

根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的起始位置偏移值进行修正处理;

根据所述标记覆盖的字符长度以及经修正处理的所述标记的起始位置偏移值,对所述标记的结束位置偏移值进行修正处理。

在一种可选的实施方式中,程序810具体还用于使得处理器802执行以下操作:

在对所述电子书中的至少一个特定词进行替换处理前,判断所述标记是否完全覆盖所述至少一个特定词中的任一特定词,若是,则记录所述标记的结束位置对应的标记结束字符;

若所述标记完全覆盖所述至少一个特定词中的任一特定词,则对经修正处理的标记的结束位置偏移值进行调整。

在一种可选的实施方式中,程序810具体进一步用于使得处理器802执行以下操作:

判断所述标记的结束位置对应的标记结束字符是否为被完全覆盖的所述特定词中的字符;

若是,则将经修正处理的标记的结束位置偏移值调整为被完全覆盖的所述特定词的替换词的末字符偏移值;

若否,则在经修正处理的标记的结束位置偏移值前后的预设范围内,搜索所述标记结束字符;若在所述预设范围内搜索到所述标记结束字符,则将经修正处理的标记的结束位置偏移值调整为所述标记结束字符对应的偏移值。

在一种可选的实施方式中,程序810具体进一步用于使得处理器802执行以下操作:

将经修正处理的标记的结束位置偏移值调整为距离经修正处理的所述标记的结束位置最近的标记结束字符对应的偏移值。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:a1.一种电子书中标记位置的修正方法,包括:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

a2.根据a1所述的方法,其中,所述方法还包括:若不存在首字符位置位于所述标记的起始位置之前的一个或多个特定词,则保持所述标记的位置不变。

a3.根据a1或a2所述的方法,其中,所述根据标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词具体为:判断是否存在首字符偏移值小于所述标记的起始位置偏移值的一个或多个特定词。

a4.根据a1-a3中任一项所述的方法,其中,所述根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理进一步包括:

若所述一个或多个特定词的总字符数量少于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行增加处理;

若所述一个或多个特定词的总字符数量多于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行减小处理;

若所述一个或多个特定词的总字符数量等于所述一个或多个特定词对应的替换词的总字符数量,保持所述标记的起始位置偏移值不变。

a5.根据a1-a4中任一项所述的方法,其中,所述对所述标记的位置进行修正处理进一步包括:

根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的起始位置偏移值进行修正处理;

根据所述标记覆盖的字符长度以及经修正处理的所述标记的起始位置偏移值,对所述标记的结束位置偏移值进行修正处理。

a6.根据a1-a5中任一项所述的方法,其中,所述方法还包括:

在对所述电子书中的至少一个特定词进行替换处理前,判断所述标记是否完全覆盖所述至少一个特定词中的任一特定词,若是,则记录所述标记的结束位置对应的标记结束字符;

在所述对标记的位置进行修正处理之后,所述方法还包括:

若所述标记完全覆盖所述至少一个特定词中的任一特定词,则对经修正处理的标记的结束位置偏移值进行调整。

a7.根据a6所述的方法,其中,所述对经修正处理的标记的结束位置偏移值进行调整进一步包括:

判断所述标记的结束位置对应的标记结束字符是否为被完全覆盖的所述特定词中的字符;

若是,则将经修正处理的标记的结束位置偏移值调整为被完全覆盖的所述特定词的替换词的末字符偏移值;

若否,则在经修正处理的标记的结束位置偏移值前后的预设范围内,搜索所述标记结束字符;若在所述预设范围内搜索到所述标记结束字符,则将经修正处理的标记的结束位置偏移值调整为所述标记结束字符对应的偏移值。

a8.根据a7所述的方法,其中,若在所述预设范围内搜索到多个所述标记结束字符,则将经修正处理的标记的结束位置偏移值调整为所述标记结束字符对应的偏移值具体为:

将经修正处理的标记的结束位置偏移值调整为距离经修正处理的所述标记的结束位置最近的标记结束字符对应的偏移值。

本发明还公开:b9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

b10.根据b9所述的计算设备,所述可执行指令还使所述处理器执行以下操作:

若不存在首字符位置位于所述标记的起始位置之前的一个或多个特定词,则保持所述标记的位置不变。

b11.根据b9或b10所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:

判断是否存在首字符偏移值小于所述标记的起始位置偏移值的一个或多个特定词。

b12.根据b9-b11中任一项所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:

若所述一个或多个特定词的总字符数量少于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行增加处理;

若所述一个或多个特定词的总字符数量多于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行减小处理;

若所述一个或多个特定词的总字符数量等于所述一个或多个特定词对应的替换词的总字符数量,保持所述标记的起始位置偏移值不变。

b13.根据b9-b12中任一项所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:

根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的起始位置偏移值进行修正处理;

根据所述标记覆盖的字符长度以及经修正处理的所述标记的起始位置偏移值,对所述标记的结束位置偏移值进行修正处理。

b14.根据b9-b13中任一项所述的计算设备,所述可执行指令还使所述处理器执行以下操作:

在对所述电子书中的至少一个特定词进行替换处理前,判断所述标记是否完全覆盖所述至少一个特定词中的任一特定词,若是,则记录所述标记的结束位置对应的标记结束字符;

若所述标记完全覆盖所述至少一个特定词中的任一特定词,则对经修正处理的标记的结束位置偏移值进行调整。

b15.根据b14所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:

判断所述标记的结束位置对应的标记结束字符是否为被完全覆盖的所述特定词中的字符;

若是,则将经修正处理的标记的结束位置偏移值调整为被完全覆盖的所述特定词的替换词的末字符偏移值;

若否,则在经修正处理的标记的结束位置偏移值前后的预设范围内,搜索所述标记结束字符;若在所述预设范围内搜索到所述标记结束字符,则将经修正处理的标记的结束位置偏移值调整为所述标记结束字符对应的偏移值。

b16.根据b15所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:

将经修正处理的标记的结束位置偏移值调整为距离经修正处理的所述标记的结束位置最近的标记结束字符对应的偏移值。

本发明还公开了:c17.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:

当对所述电子书中的至少一个特定词进行替换处理时,针对所述电子书中的任一标记,获取所述标记的起始位置偏移值,以及获取所述至少一个特定词的首字符偏移值;

根据所述标记的起始位置偏移值以及所述至少一个特定词的首字符偏移值,查找是否存在首字符位置位于所述标记的起始位置之前的一个或多个特定词;

若存在,根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的位置进行修正处理。

c18.根据c17所述的计算机存储介质,所述可执行指令还使所述处理器执行以下操作:

若不存在首字符位置位于所述标记的起始位置之前的一个或多个特定词,则保持所述标记的位置不变。

c19.根据c17或c18所述的计算机存储介质,所述可执行指令进一步使所述处理器执行以下操作:

判断是否存在首字符偏移值小于所述标记的起始位置偏移值的一个或多个特定词。

c20.根据c17-c19中任一项所述的计算机存储介质,所述可执行指令进一步使所述处理器执行以下操作:

若所述一个或多个特定词的总字符数量少于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行增加处理;

若所述一个或多个特定词的总字符数量多于所述一个或多个特定词对应的替换词的总字符数量,则对所述标记的起始位置偏移值进行减小处理;

若所述一个或多个特定词的总字符数量等于所述一个或多个特定词对应的替换词的总字符数量,保持所述标记的起始位置偏移值不变。

c21.根据c17-c20中任一项所述的计算机存储介质,所述可执行指令进一步使所述处理器执行以下操作:

根据所述一个或多个特定词及其对应的替换词的字符数量的差异情况,对所述标记的起始位置偏移值进行修正处理;

根据所述标记覆盖的字符长度以及经修正处理的所述标记的起始位置偏移值,对所述标记的结束位置偏移值进行修正处理。

c22.根据c17-c21中任一项所述的计算机存储介质,所述可执行指令还使所述处理器执行以下操作:

在对所述电子书中的至少一个特定词进行替换处理前,判断所述标记是否完全覆盖所述至少一个特定词中的任一特定词,若是,则记录所述标记的结束位置对应的标记结束字符;

若所述标记完全覆盖所述至少一个特定词中的任一特定词,则对经修正处理的标记的结束位置偏移值进行调整。

c23.根据c22所述的计算机存储介质,所述可执行指令进一步使所述处理器执行以下操作:

判断所述标记的结束位置对应的标记结束字符是否为被完全覆盖的所述特定词中的字符;

若是,则将经修正处理的标记的结束位置偏移值调整为被完全覆盖的所述特定词的替换词的末字符偏移值;

若否,则在经修正处理的标记的结束位置偏移值前后的预设范围内,搜索所述标记结束字符;若在所述预设范围内搜索到所述标记结束字符,则将经修正处理的标记的结束位置偏移值调整为所述标记结束字符对应的偏移值。

c24.根据c23所述的计算机存储介质,所述可执行指令进一步使所述处理器执行以下操作:

将经修正处理的标记的结束位置偏移值调整为距离经修正处理的所述标记的结束位置最近的标记结束字符对应的偏移值。

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