文本編輯方法和裝置制造方法
【專利摘要】本發(fā)明揭示了一種文本編輯方法和裝置,屬于計(jì)算機(jī)【技術(shù)領(lǐng)域】。所述文本編輯方法包括:接收文本編輯操作;確定所述文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與所述文本文件的起始位置之間的偏移量位置,所述編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與所述文本文件的結(jié)束位置之間的偏移量位置;將所述編輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。解決了相關(guān)技術(shù)中終端緩存文本文件時(shí)需要耗用大量?jī)?nèi)存的問題;達(dá)到了可以減少終端需要緩存的內(nèi)容,進(jìn)而降低需要占用的內(nèi)存的效果。
【專利說明】文本編輯方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本公開涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種文本編輯方法和裝置。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)的普及,文本編輯已經(jīng)成為常見的工作場(chǎng)景之一。
[0003] 為了使用戶在文本編輯過程中能夠?qū)崿F(xiàn)文本撤銷,相關(guān)技術(shù)提供的一種文本編輯 方法包括:終端接收文本編輯操作,緩存整個(gè)文本文件,根據(jù)接收到的文本編輯操作對(duì)該文 本文件中的文本內(nèi)容進(jìn)行編輯。這樣,當(dāng)終端接收到撤銷操作時(shí),終端可以直接使用緩存的 文本文件替換編輯后的文本文件。
[0004] 公開人在實(shí)現(xiàn)本公開的過程中,發(fā)現(xiàn)相關(guān)技術(shù)至少存在如下缺陷:由于終端需要 緩存編輯之前的整個(gè)文本文件,所以這就導(dǎo)致終端緩存文本文件時(shí)需要耗用大量的內(nèi)存。
【發(fā)明內(nèi)容】
[0005] 為了解決相關(guān)技術(shù)中終端緩存編輯前的文本文件需要耗用大量?jī)?nèi)存的問題,本公 開提供了一種文本編輯方法和裝置。所述技術(shù)方案如下:
[0006] 根據(jù)本公開實(shí)施例的第一方面,提供一種文本編輯方法,包括:
[0007] 接收文本編輯操作;
[0008] 確定所述文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng) 求編輯的文本內(nèi)容中的首字符與所述文本文件的起始位置之間的偏移量位置,所述編輯終 點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與所述文本文件的結(jié)束位置之間的偏移量位置;
[0009] 將所述編輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文 本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0010] 根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。
[0011] 可選地,所述確定所述文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),包 括:
[0012] 若所述文本編輯操作為輸入操作,則根據(jù)定位光標(biāo)與所述文本文件的起始位置之 間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)與所述文本文件的結(jié)束位置之間的偏 移量計(jì)算所述編輯終點(diǎn);
[0013] 若所述文本編輯操作為前向刪除操作,則根據(jù)定位光標(biāo)后退一個(gè)字符之后所在的 位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)當(dāng) 前所在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn);
[0014] 若所述文本編輯操作為后向刪除操作,則根據(jù)所述定位光標(biāo)當(dāng)前所在的位置與所 述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)前進(jìn)一個(gè)字 符之后所在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn);
[0015] 若所述文本編輯操作為對(duì)選定的文本內(nèi)容的選定刪除操作,則根據(jù)所述選定的文 本內(nèi)容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起 點(diǎn),根據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間 的偏移量計(jì)算所述編輯終點(diǎn);
[0016] 若所述文本編輯操作為替換操作,則根據(jù)替換區(qū)域中首次出現(xiàn)查找的文本內(nèi)容中 的首個(gè)字符的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所 述替換區(qū)域中末次出現(xiàn)所述查找的文本內(nèi)容中的最后一個(gè)字符的位置與所述文本文件的 結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn);
[0017] 若所述文本編輯操作為對(duì)選中的文本內(nèi)容的格式更改操作,則根據(jù)所述選中的文 本內(nèi)容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起 點(diǎn),根據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間 的偏移量計(jì)算所述編輯終點(diǎn)。
[0018] 可選地,所述方法還包括:
[0019] 當(dāng)所述文本編輯操作為輸入操作、前向刪除操作或者后向刪除操作時(shí),檢測(cè)所述 文本編輯操作與最近一次接收到的歷史文本編輯操作是否是關(guān)聯(lián)操作;
[0020] 如果所述文本編輯操作與所述歷史文本編輯操作是關(guān)聯(lián)操作,則從所述文本編輯 操作的編輯起點(diǎn)和所述歷史文本編輯操作的編輯起點(diǎn)中選擇最小編輯起點(diǎn),從所述文本編 輯操作的編輯終點(diǎn)和所述歷史文本編輯操作的編輯終點(diǎn)中選擇最大編輯終點(diǎn);
[0021] 將所述最小編輯起點(diǎn)、所述最大編輯終點(diǎn)以及位于所述最小編輯起點(diǎn)和所述最大 編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0022] 如果所述文本編輯操作與所述歷史文本編輯操作不是關(guān)聯(lián)操作,則執(zhí)行所述將所 述編輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān) 聯(lián)存儲(chǔ)的步驟。
[0023] 可選地,所述檢測(cè)所述文本編輯操作與最近一次接收到的歷史文本編輯操作是否 是關(guān)聯(lián)操作,包括:
[0024] 檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是同種類型的編輯操作;
[0025] 和 / 或,
[0026] 檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是編輯位置連續(xù)的編輯操 作;
[0027] 和 / 或,
[0028] 檢測(cè)所述文本編輯操作與所述歷史文本編輯操作的編輯時(shí)間間隔是否小于預(yù)定 時(shí)間間隔。
[0029] 可選地,所述方法還包括:
[0030] 接收撤銷操作;
[0031] 從存儲(chǔ)的各組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容中選擇與所述撤銷操作對(duì)應(yīng)的一組 編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容;
[0032] 使用選擇得到的文本內(nèi)容替換所述文本文件中處于選擇得到的所述編輯起點(diǎn)和 所述編輯終點(diǎn)之間的文本內(nèi)容。
[0033] 根據(jù)本公開實(shí)施例的第二方面,提供一種文本編輯裝置,包括:
[0034] 編輯操作接收模塊,被配置為接收文本編輯操作;
[0035] 第一確定模塊,被配置為確定所述編輯操作接收模塊接收到的所述文本編輯操作 在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與 所述文本文件的起始位置之間的偏移量位置,所述編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末 字符與所述文本文件的結(jié)束位置之間的偏移量位置;
[0036] 第一存儲(chǔ)模塊,被配置為將所述第一確定模塊確定的所述編輯起點(diǎn)、所述編輯終 點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0037] 文本編輯模塊,被配置為根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。
[0038] 可選地,所述第一確定模塊,被配置為:
[0039] 在所述文本編輯操作為輸入操作時(shí),根據(jù)定位光標(biāo)與所述文本文件的起始位置之 間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)與所述文本文件的結(jié)束位置之間的偏 移量計(jì)算所述編輯終點(diǎn);
[0040] 在所述文本編輯操作為前向刪除操作時(shí),根據(jù)定位光標(biāo)后退一個(gè)字符之后所在的 位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)當(dāng) 前所在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn);
[0041] 在所述文本編輯操作為后向刪除操作時(shí),根據(jù)所述定位光標(biāo)當(dāng)前所在的位置與所 述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)前進(jìn)一個(gè)字 符之后所在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn);
[0042] 在所述文本編輯操作為對(duì)選定的文本內(nèi)容的選定刪除操作時(shí),根據(jù)所述選定的文 本內(nèi)容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起 點(diǎn),根據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間 的偏移量計(jì)算所述編輯終點(diǎn);
[0043] 在所述文本編輯操作為替換操作時(shí),則根據(jù)替換區(qū)域中首次出現(xiàn)查找的文本內(nèi)容 中的首個(gè)字符的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù) 所述替換區(qū)域中末次出現(xiàn)所述查找的文本內(nèi)容中的最后一個(gè)字符的位置與所述文本文件 的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn);
[0044] 在所述文本編輯操作為對(duì)選中的文本內(nèi)容的格式更改操作時(shí),根據(jù)所述選中的文 本內(nèi)容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起 點(diǎn),根據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間 的偏移量計(jì)算所述編輯終點(diǎn)。
[0045] 可選地,所述裝置還包括:
[0046] 操作檢測(cè)模塊,被配置為在所述文本編輯操作為輸入操作、前向刪除操作或者后 向刪除操作時(shí),檢測(cè)所述文本編輯操作與最近一次接收到的歷史文本編輯操作是否是關(guān)聯(lián) 操作;
[0047] 第二確定模塊,被配置為在所述操作檢測(cè)模塊的檢測(cè)結(jié)果為所述文本編輯操作與 所述歷史文本編輯操作是關(guān)聯(lián)操作時(shí),從所述文本編輯操作的編輯起點(diǎn)和所述歷史文本編 輯操作的編輯起點(diǎn)中選擇最小編輯起點(diǎn),從所述文本編輯操作的編輯終點(diǎn)和所述歷史文本 編輯操作的編輯終點(diǎn)中選擇最大編輯終點(diǎn);
[0048] 第二存儲(chǔ)模塊,被配置為將所述第二確定模塊確定的所述最小編輯起點(diǎn)、所述最 大編輯終點(diǎn)以及位于所述最小編輯起點(diǎn)和所述最大編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存 儲(chǔ);
[0049] 所述第一存儲(chǔ)模塊,被配置為在所述操作檢測(cè)模塊的檢測(cè)結(jié)果為所述文本編輯操 作與所述歷史文本編輯操作不是關(guān)聯(lián)操作時(shí),執(zhí)行所述將所述編輯起點(diǎn)、所述編輯終點(diǎn)以 及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)的步驟。
[0050] 可選地,所述操作檢測(cè)模塊,包括:
[0051] 第一檢測(cè)單元,被配置為檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是 同種類型的編輯操作;
[0052] 和 / 或,
[0053] 第二檢測(cè)單元,被配置為檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是 編輯位置連續(xù)的編輯操作;
[0054] 和 / 或,
[0055] 第三檢測(cè)單元,被配置為檢測(cè)所述文本編輯操作與所述歷史文本編輯操作的編輯 時(shí)間間隔是否小于預(yù)定時(shí)間間隔。
[0056] 可選地,所述裝置還包括:
[0057] 撤銷操作接收模塊,被配置為接收撤銷操作;
[0058] 信息選擇模塊,被配置為從存儲(chǔ)的各組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容中選擇與 所述撤銷操作對(duì)應(yīng)的一組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容;
[0059] 內(nèi)容替換模塊,被配置為使用選擇得到的文本內(nèi)容替換所述文本文件中處于選擇 得到的所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容。
[0060] 根據(jù)本公開實(shí)施例的第三方面,提供一種文本編輯裝置,包括:
[0061] 處理器;
[0062] 用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0063] 其中,所述處理器被配置為:
[0064] 接收文本編輯操作;
[0065] 確定所述文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng) 求編輯的文本內(nèi)容中的首字符與所述文本文件的起始位置之間的偏移量位置,所述編輯終 點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與所述文本文件的結(jié)束位置之間的偏移量位置; [0066] 將所述編輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文 本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0067] 根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。
[0068] 本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0069] 通過將文本編輯操作的編輯起點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的 文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ),使得終端可以無需緩存文本文件中的全部?jī)?nèi)容,而是只緩存編輯 起點(diǎn)和編輯終點(diǎn)之間的部分內(nèi)容,進(jìn)而解決相關(guān)技術(shù)中終端緩存文本文件時(shí)需要耗用大量 內(nèi)存的問題;達(dá)到了可以減少終端需要緩存的內(nèi)容,進(jìn)而降低需要占用的內(nèi)存的效果。
[0070] 應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本 公開。
【專利附圖】
【附圖說明】
[0071] 此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施 例,并于說明書一起用于解釋本發(fā)明的原理。
[0072] 圖1是根據(jù)一示例性實(shí)施例示出的一種文本編輯方法的流程圖。
[0073] 圖2A是根據(jù)另一示例性實(shí)施例示出的一種文本編輯方法的流程圖。
[0074] 圖2B是根據(jù)一示例性實(shí)施例示出的終端確定的編輯起點(diǎn)和編輯終點(diǎn)的示意圖。
[0075] 圖2C是根據(jù)一示例性實(shí)施例示出的終端確定的編輯起點(diǎn)和編輯終點(diǎn)的示意圖。
[0076] 圖2D是根據(jù)另一示例性實(shí)施例示出的另一種文本編輯方法的流程圖。
[0077] 圖3是根據(jù)一示例性實(shí)施例示出的一種文本編輯裝置的框圖。
[0078] 圖4是根據(jù)另一示例性實(shí)施例示出的一種文本編輯裝置的框圖。
[0079] 圖5是根據(jù)一示例性實(shí)施例示出的一種用于文本編輯的裝置的框圖。
【具體實(shí)施方式】
[0080] 這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及 附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例 中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附 權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0081] 圖1是根據(jù)一示例性實(shí)施例示出的一種文本編輯方法的流程圖,如圖1所示,該文 本編輯方法可以包括以下步驟。
[0082] 在步驟101中,接收文本編輯操作。
[0083] 在步驟102中,確定文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn)。
[0084] 其中,編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與文本文件的起始位置之間的 偏移量位置,編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與文本文件的結(jié)束位置之間的偏 移量位置。
[0085] 在步驟103中,將編輯起點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本 內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0086] 在步驟104中,根據(jù)文本編輯操作編輯文本內(nèi)容。
[0087] 綜上所述,本公開實(shí)施例中提供的文本編輯方法,通過將文本編輯操作的編輯起 點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ),使得終端可以 無需緩存文本文件中的全部?jī)?nèi)容,而是只緩存編輯起點(diǎn)和編輯終點(diǎn)之間的部分內(nèi)容,進(jìn)而 解決相關(guān)技術(shù)中終端緩存文本文件時(shí)需要耗用大量?jī)?nèi)存的問題;達(dá)到了可以減少終端需要 緩存的內(nèi)容,進(jìn)而降低需要占用的內(nèi)存的效果。
[0088] 本公開實(shí)施例中提供的方法,可以用于便簽等多種應(yīng)用的文本編輯中。
[0089] 圖2A是根據(jù)一示例性實(shí)施例示出的一種文本編輯方法的流程圖,如圖2A所示,該 文本編輯方法可以包括以下步驟。
[0090] 在步驟201中,接收文本編輯操作。
[0091] 當(dāng)用戶需要對(duì)文本文件中的文本內(nèi)容進(jìn)行編輯時(shí),用戶可以施加文本編輯操作, 相應(yīng)的,終端可以接收文本編輯操作。
[0092] 比如,當(dāng)用戶想要在文本文件中的某一位置新增文本內(nèi)容時(shí),用戶可以將定位光 標(biāo)移動(dòng)至該位置,然后執(zhí)行輸入操作;其中,輸入操作可以是用戶通過鍵盤輸入的輸入操 作,也可以是用戶通過工具欄中的插入功能進(jìn)行輸入的輸入操作,本實(shí)施例對(duì)此并不做限 定。
[0093] 當(dāng)用戶想要?jiǎng)h除文本文件的文本內(nèi)容中的某一字符時(shí),用戶可以將定位光標(biāo)移 動(dòng)至該字符之前或者之后的位置;在定位光標(biāo)移動(dòng)至該字符之前的位置時(shí),用戶可以使用 'delete'鍵來施加后向刪除操作;在定位光標(biāo)移動(dòng)至該字符之后的位置時(shí),用戶可以使用 'backspace'鍵來施加前向刪除操作。其中,本實(shí)施例中的后向刪除操作是指定位光標(biāo)位于 某一位置時(shí),用戶按壓一次'delete'鍵所對(duì)應(yīng)的操作;前向刪除操作是指定位光標(biāo)位于某 一位置時(shí),用戶按壓一次'backspace'鍵所對(duì)應(yīng)的操作。
[0094] 當(dāng)用戶想要?jiǎng)h除文本文件的部分文本內(nèi)容時(shí),用戶可以選定該文本內(nèi)容,然后使 用'backspace'鍵或者'delete'鍵來執(zhí)行選定刪除操作。
[0095] 當(dāng)用戶想要將文本內(nèi)容中的一部分文本內(nèi)容進(jìn)行替換時(shí),用戶可以輸入需要查找 的文本內(nèi)容,然后執(zhí)行將替換區(qū)域中的查找的文本內(nèi)容替換成其他文本內(nèi)容的替換操作; 其中,替換區(qū)域可以是用戶選擇的區(qū)域,也可以是從文本文件的起始位置到結(jié)束位置的全 部區(qū)域,還可以是從定位光標(biāo)當(dāng)前所在位置到首次出現(xiàn)查找的文本內(nèi)容的最后一個(gè)字符所 在位置的區(qū)域,本實(shí)施例對(duì)此并不做限定。
[0096] 當(dāng)用戶需要對(duì)文本文件中的部分文本內(nèi)容進(jìn)行格式更改時(shí),用戶可以選中該文本 內(nèi)容,然后執(zhí)行對(duì)選中的文本內(nèi)容的格式更改操作。
[0097] 在步驟202中,確定文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn)。
[0098] 終端接收到文本編輯操作之后,為了后續(xù)步驟的執(zhí)行,終端可以確定文本編輯操 作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn)。
[0099] 其中,編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與文本文件的起始位置之間的 偏移量位置,編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與文本文件的結(jié)束位置之間的偏 移量位置。
[0100] 在實(shí)際實(shí)現(xiàn)時(shí),根據(jù)終端接收到的文本編輯操作的不同,終端確定編輯起點(diǎn)和編 輯終點(diǎn)的步驟可以包括如下幾種可能的實(shí)現(xiàn)方式:
[0101] 在第一種可能的實(shí)現(xiàn)方式中,
[0102] 若文本編輯操作為輸入操作,則根據(jù)定位光標(biāo)與文本文件的起始位置之間的偏移 量計(jì)算編輯起點(diǎn),并根據(jù)定位光標(biāo)與文本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0103] 如果接收到的文本編輯操作為輸入操作,則終端可以計(jì)算從文本文件的起始位置 到定位光標(biāo)所在位置的第一偏移量,將與起始位置之間的偏移量為計(jì)算得到的第一偏移量 的位置確定為編輯起點(diǎn);同時(shí),終端計(jì)算從文本文件的結(jié)束位置到定位光標(biāo)所在位置的第 二偏移量,將與結(jié)束位置之間的偏移量為計(jì)算得到的第二偏移量的位置確定為編輯終點(diǎn)。
[0104] 在第二種可能的實(shí)現(xiàn)方式中,
[0105] 若文本編輯操作為前向刪除操作,則根據(jù)定位光標(biāo)后退一個(gè)字符之后所在的位置 與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)定位光標(biāo)當(dāng)前所在的位置與文 本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0106] 如果終端接收到的文本編輯操作為前向刪除操作,則終端可以計(jì)算從文本文件的 起始位置到定位光標(biāo)從當(dāng)前所在位置后退一個(gè)字符之后的位置的第三偏移量,將與起始位 置之間的偏移量為第三偏移量的位置確定為編輯起點(diǎn);同時(shí),終端計(jì)算從文本文件的結(jié)束 位置到定位光標(biāo)當(dāng)前所在位置的第四偏移量,將與結(jié)束位置之間的偏移量為第四偏移量的 位置確定為編輯終點(diǎn)。
[0107] 在第三種可能的實(shí)現(xiàn)方式中,
[0108] 若文本編輯操作為后向刪除操作,則根據(jù)定位光標(biāo)當(dāng)前所在的位置與文本文件的 起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)定位光標(biāo)前進(jìn)一個(gè)字符之后所在的位置與文 本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0109] 如果接收到的文本編輯操作為后向刪除操作,則終端可以計(jì)算從文本文件的起始 位置到定位光標(biāo)所在位置的第五偏移量,將與起始位置之間的偏移量為第五偏移量的位置 確定為編輯起點(diǎn);同時(shí),終端計(jì)算從文本文件的結(jié)束位置到定位光標(biāo)從當(dāng)前位置前進(jìn)一個(gè) 字符之后所在位置的第六偏移量,將與結(jié)束位置之間的偏移量為第六偏移量的位置確定為 編輯終點(diǎn)。
[0110] 在第四種可能的實(shí)現(xiàn)方式中,
[0111] 若文本編輯操作為對(duì)選定的文本內(nèi)容的選定刪除操作,則根據(jù)選定的文本內(nèi)容中 首個(gè)字符所在的位置與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),根據(jù)選中的文本 內(nèi)容中最后一個(gè)字符所在的位置與文本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0112] 如果接收到的文本編輯操作為對(duì)選中內(nèi)容的選定刪除操作,則終端可以計(jì)算從文 本文件的起始位置到選中的文本內(nèi)容中的首個(gè)字符所在位置之間的第七偏移量,將與起始 位置之間的偏移量為第七偏移量的位置確定為編輯起點(diǎn);同時(shí),終端還可以計(jì)算從文本文 件的結(jié)束位置到選中的文本內(nèi)容中的最后一個(gè)字符所在位置之間的第八偏移量,將與結(jié)束 位置之間的偏移量為第八偏移量的位置確定為編輯終點(diǎn)。
[0113] 在第五種可能的實(shí)現(xiàn)方式中,
[0114] 若文本編輯操作為替換操作,則根據(jù)替換區(qū)域中首次出現(xiàn)查找的文本內(nèi)容中的首 個(gè)字符的位置與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)替換區(qū)域中末次 出現(xiàn)查找的文本內(nèi)容中的最后一個(gè)字符的位置與文本文件的結(jié)束位置之間的偏移量計(jì)算 編輯終點(diǎn);
[0115] 如果接收到的文本編輯操作為替換操作,則終端可以確定替換區(qū)域中首次出現(xiàn)查 找的文本內(nèi)容中的首個(gè)字符的位置,計(jì)算從文本文件的起始位置到確定的首個(gè)字符的位置 之間的第九偏移量,將與起始位置之間的偏移量為第九偏移量的位置確定為編輯起點(diǎn);同 時(shí),終端確定替換區(qū)域中末次出現(xiàn)查找的文本內(nèi)容中的最后一個(gè)字符的位置,計(jì)算從文本 文件的結(jié)束位置到確定的最后一個(gè)字符的位置的第十偏移量,將與結(jié)束位置之間的偏移量 為第十偏移量的位置確定為編輯終點(diǎn)。
[0116] 在第六種可能的實(shí)現(xiàn)方式中,
[0117] 若文本編輯操作為對(duì)選中的文本內(nèi)容的格式更改操作,則根據(jù)選中的文本內(nèi)容中 首個(gè)字符所在的位置與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),根據(jù)選中的文本 內(nèi)容中最后一個(gè)字符所在的位置與文本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn)。
[0118] 如果接收到的文本編輯操作為對(duì)選中內(nèi)容的格式更改操作,則終端可以計(jì)算從文 本文件的起始位置到選中的文本內(nèi)容中的首個(gè)字符所在位置之間的第十一偏移量,將與起 始位置之間的偏移量為第十一偏移量的位置確定為編輯起點(diǎn);同時(shí),終端還可以計(jì)算從文 本文件的結(jié)束位置到選中的文本內(nèi)容中的最后一個(gè)字符所在位置之間的第十二偏移量,將 與結(jié)束位置之間的偏移量為第十二偏移量的位置確定為編輯終點(diǎn)。
[0119] 比如,以文本編輯操作為后向刪除操作為例,請(qǐng)參考圖2B,終端接收到后向刪除操 作時(shí),定位光標(biāo)在文本文件中的A位置,則終端可以將A位置以及從A位置前進(jìn)一個(gè)字符之 后的B位置確定為編輯起點(diǎn)和編輯終點(diǎn);類似的,以文本編輯操作為替換操作為例,請(qǐng)參考 圖2C,替換區(qū)域?yàn)閳D中的陰影區(qū)域,查找的文本內(nèi)容為'文本內(nèi)容',則終端可以將C位置和 D位置確定為編輯起點(diǎn)和編輯終點(diǎn)。
[0120] 需要說明的另一點(diǎn)是,當(dāng)文本編輯操作為對(duì)選擇的文本內(nèi)容添加批注的編輯操作 時(shí),終端可以計(jì)算從起始位置到用戶選擇的文本內(nèi)容中的首個(gè)字符的偏移量,將與起始位 置之間的偏移量為計(jì)算得到的偏移量的位置確定為編輯起點(diǎn);同時(shí),終端還可以計(jì)算從結(jié) 束位置到用戶選擇的文本內(nèi)容中的最后一個(gè)字符的偏移量,將與結(jié)束位置之間的偏移量為 計(jì)算得到的偏移量的位置確定為編輯終點(diǎn),本實(shí)施例在此不再贅述。
[0121] 在步驟203中,將編輯起點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本 內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0122] 終端確定編輯起點(diǎn)和編輯終點(diǎn)之后,終端可以確定文本文件中位于編輯起點(diǎn)和編 輯終點(diǎn)之間的文本內(nèi)容,然后將編輯起點(diǎn)、編輯終點(diǎn)以及確定的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)。以 文本編輯操作為后向刪除操作為例,終端可以將A位置、B位置以及位于A位置和B位置之 間的'文'進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0123] 在實(shí)際實(shí)現(xiàn)時(shí),終端可以維護(hù)一個(gè)撤銷堆棧,當(dāng)終端接收到文本編輯操作時(shí),終端 可以將文本編輯操作所對(duì)應(yīng)的編輯起點(diǎn)、編輯終點(diǎn)以及對(duì)應(yīng)的文本內(nèi)容組合存儲(chǔ)至撤銷堆 棧中。并且當(dāng)終端接收到多個(gè)文本編輯操作時(shí),終端可以將每次接收到的文本編輯操作所 對(duì)應(yīng)的編輯起點(diǎn)、編輯終點(diǎn)以及文本內(nèi)容依次存儲(chǔ)至撤銷堆棧中。
[0124] 需要說明的一點(diǎn)是,當(dāng)文本編輯操作為輸入操作時(shí),文本文件中編輯起點(diǎn)和編輯 終點(diǎn)之間沒有文本內(nèi)容,此時(shí)終端可以將編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容設(shè)置為空。
[0125] 需要說明的另一點(diǎn)是,當(dāng)文本編輯操作為對(duì)選擇的文本內(nèi)容添加批注的編輯操作 時(shí),終端可以使用用戶添加的批注中的內(nèi)容代替編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行 存儲(chǔ)。
[0126] 在步驟204中,根據(jù)文本編輯操作編輯文本內(nèi)容。
[0127] 比如,仍然以文本編輯操作為后向刪除操作為例,終端將刪除處于A位置和B位置 之間的'文'。
[0128] 需要說明的是,本實(shí)施例只是以終端先執(zhí)行步驟203后執(zhí)行步驟204為例,在實(shí)際 實(shí)現(xiàn)時(shí),終端還可以先執(zhí)行步驟204后執(zhí)行步驟203,或者同時(shí)執(zhí)行步驟203和步驟204,只 需要保證步驟203和步驟204在步驟202之后執(zhí)行即可,對(duì)其實(shí)際執(zhí)行順序并不做限定。
[0129] 在步驟205中,接收撤銷操作;
[0130] 終端對(duì)文本文件的文本內(nèi)容進(jìn)行編輯之后,當(dāng)用戶想要將文本內(nèi)容恢復(fù)到編輯之 前的狀態(tài)時(shí),用戶可以點(diǎn)擊撤銷按鈕,相應(yīng)的,終端可以接收到撤銷操作。
[0131] 需要說明的是,步驟205是步驟201至步驟204之后執(zhí)行的步驟,在實(shí)際實(shí)現(xiàn)時(shí), 步驟201至步驟204可以在步驟205之前執(zhí)行多次,也可以執(zhí)行一次,本實(shí)施例對(duì)此并不做 限定。
[0132] 在步驟206中,從存儲(chǔ)的各組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容中選擇與撤銷操作 對(duì)應(yīng)的一組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容;
[0133] 其中,與撤銷操作對(duì)應(yīng)的一組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容是指:終端在接收到 撤銷操作之前,最近一次接收到的文本編輯操作所對(duì)應(yīng)的編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容。
[0134] 在實(shí)際實(shí)現(xiàn)時(shí),終端可以從撤銷堆棧中選擇處于堆棧頂部的編輯起點(diǎn)、編輯終點(diǎn) 和文本內(nèi)容,將選擇得到的編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容作為與本次撤銷操作對(duì)應(yīng)的一 組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容。
[0135] 在步驟207中,使用選擇得到的文本內(nèi)容替換文本文件中處于選擇得到的編輯起 點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容。
[0136] 終端可以使用選擇得到的文本內(nèi)容替換文本文件中處于選擇得到的編輯起點(diǎn)和 編輯終點(diǎn)之間的文本內(nèi)容。
[0137] 比如,終端選擇的編輯起點(diǎn)、編輯終點(diǎn)以及文本內(nèi)容依次為A位置、B位置以及 '文則終端可以使用'文'來替換文本文件中處于A位置和B位置之間的文本內(nèi)容,也即 將'文'添加至A位置和B位置之間。
[0138] 需要說明的是,在終端執(zhí)行撤銷之后,當(dāng)用戶想要恢復(fù)撤銷之前的文本文件時(shí),用 戶還可以點(diǎn)擊恢復(fù)按鈕,相應(yīng)的,終端可以接收恢復(fù)操作。在終端接收到恢復(fù)操作之后,終 端可以選擇與恢復(fù)操作對(duì)應(yīng)的編輯起點(diǎn)、編輯終點(diǎn)以及編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi) 容,然后使用選擇得到的文本內(nèi)容替換文本文件中位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi) 容。
[0139] 在實(shí)際實(shí)現(xiàn)時(shí),在終端執(zhí)行文本撤銷之后,終端可以將選擇得到的編輯起點(diǎn)、編輯 終點(diǎn)以及替換掉的文本內(nèi)容組合存儲(chǔ)至恢復(fù)堆棧中。并且,當(dāng)終端接收到多次撤銷操作時(shí), 終端可以將每次撤銷操作所對(duì)應(yīng)的編輯起點(diǎn)、編輯終點(diǎn)以及文本內(nèi)容依次組合存儲(chǔ)至恢復(fù) 堆棧中。此后,當(dāng)終端接收到恢復(fù)操作時(shí),終端可以選擇恢復(fù)堆棧中處于堆棧頂部的編輯起 點(diǎn)、編輯終點(diǎn)和文本內(nèi)容,將選擇得到的編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容確定為與恢復(fù)操作 對(duì)應(yīng)的編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容。
[0140] 此外,終端執(zhí)行文本恢復(fù)之后,終端可以將選擇得到的編輯起點(diǎn)、編輯終點(diǎn)和替換 掉的文本內(nèi)容組合存儲(chǔ)至撤銷堆棧中,本實(shí)施例在此不再贅述。
[0141] 綜上所述,本公開實(shí)施例中提供的文本編輯方法,通過將文本編輯操作的編輯起 點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ),使得終端可以 無需緩存文本文件中的全部?jī)?nèi)容,而是只緩存編輯起點(diǎn)和編輯終點(diǎn)之間的部分內(nèi)容,進(jìn)而 解決相關(guān)技術(shù)中終端緩存文本文件時(shí)需要耗用大量?jī)?nèi)存的問題;達(dá)到了可以減少終端需要 緩存的內(nèi)容,進(jìn)而降低需要占用的內(nèi)存的效果。
[0142] 需要說明的是,請(qǐng)參考圖2D,在執(zhí)行步驟203之前,終端還可以執(zhí)行如下步驟:
[0143] 在步驟208中,當(dāng)文本編輯操作為輸入操作、前向刪除操作或者后向刪除操作時(shí), 檢測(cè)文本編輯操作與最近一次接收到的歷史文本編輯操作是否是關(guān)聯(lián)操作,如果檢測(cè)結(jié)果 為是關(guān)聯(lián)操作,則執(zhí)行步驟209 ;如果檢測(cè)結(jié)果為不是關(guān)聯(lián)操作,則執(zhí)行步驟203。
[0144] 其中,本步驟可以包括如下檢測(cè)方式中的至少一種:
[0145] 第一種:
[0146] 檢測(cè)文本編輯操作和歷史文本編輯操作是否是同種類型的編輯操作;
[0147] 終端檢測(cè)文本編輯操作和歷史文本編輯操作是否是同種類型的編輯操作,如果檢 測(cè)結(jié)果為是同種類型的編輯操作,則終端可以確定文本編輯操作和歷史文本編輯操作是關(guān) 聯(lián)操作,反之,則不是關(guān)聯(lián)操作。
[0148] 比如,文本編輯操作為輸入操作,最近一次接收到的歷史文本編輯操作也是輸入 操作,則終端可以確定文本編輯操作和歷史文本編輯操作是關(guān)聯(lián)操作。而如果文本編輯操 作為輸入操作,而歷史文本編輯操作為前向刪除操作或者后向刪除操作或者替換操作,則 終端可以確定文本編輯操作與歷史文本編輯操作不是關(guān)聯(lián)操作。
[0149] 需要說明的是,由于用戶在執(zhí)行前向刪除操作或者后向刪除操作的目的均是刪除 文本文件中的文本內(nèi)容,所以在本實(shí)施例中,終端可以將前向刪除操作和后向刪除操作確 定為關(guān)聯(lián)操作,本實(shí)施例對(duì)此并不做限定。
[0150] 第二種:
[0151] 檢測(cè)文本編輯操作和歷史文本編輯操作是否是編輯位置連續(xù)的編輯操作;
[0152] 終端還可以檢測(cè)文本編輯操作和歷史文本編輯操作是否是編輯位置連續(xù)的編輯 操作,如果檢測(cè)結(jié)果為是編輯位置連續(xù)的編輯操作,則終端可以確定文本編輯操作和歷史 文本編輯操作是關(guān)聯(lián)操作,反之,則不是關(guān)聯(lián)操作。其中,編輯位置連續(xù)是指文本編輯操作 的編輯起點(diǎn)或者編輯終點(diǎn)與歷史文本編輯操作的編輯起點(diǎn)或者編輯終點(diǎn)為同一個(gè)點(diǎn)。
[0153] 第三種:
[0154] 檢測(cè)文本編輯操作與歷史文本編輯操作的編輯時(shí)間間隔是否小于預(yù)定時(shí)間間隔。
[0155] 終端還可以檢測(cè)文本編輯操作與歷史文本編輯操作的編輯時(shí)間間隔是否小于預(yù) 定時(shí)間間隔,比如檢測(cè)編輯時(shí)間間隔是否小于'2S',如果檢測(cè)結(jié)果為編輯時(shí)間間隔小于預(yù) 定時(shí)間間隔,則確定文本編輯操作和歷史文本編輯操作是關(guān)聯(lián)操作,反之,則不是關(guān)聯(lián)操 作。
[0156] 在步驟209中,從文本編輯操作的編輯起點(diǎn)和歷史文本編輯操作的編輯起點(diǎn)中選 擇最小編輯起點(diǎn),從文本編輯操作的編輯終點(diǎn)和歷史文本編輯操作的編輯終點(diǎn)中選擇最大 編輯終點(diǎn)。
[0157] 如果終端的檢測(cè)結(jié)果為文本編輯操作和歷史文本編輯操作是關(guān)聯(lián)操作,則終端可 以從文本編輯操作的編輯起點(diǎn)和歷史文本編輯操作的編輯起點(diǎn)中選擇最小編輯起點(diǎn),并從 文本編輯操作的編輯終點(diǎn)和歷史文本編輯操作的編輯終點(diǎn)中選擇最大編輯終點(diǎn)。其中,最 小編輯起點(diǎn)是與起始位置之間的偏移量最小的編輯起點(diǎn),最大編輯終點(diǎn)是與結(jié)束位置之間 的偏移量最小的編輯終點(diǎn)。
[0158] 在步驟210中,將最小編輯起點(diǎn)、最大編輯終點(diǎn)以及位于最小編輯起點(diǎn)和最大編 輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0159] 在終端選擇得到最小編輯起點(diǎn)和最大編輯終點(diǎn)之后,終端可以將最小編輯起點(diǎn)、 最大編輯起點(diǎn)以及位于最小編輯起點(diǎn)和最大編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0160] 在終端存儲(chǔ)最小編輯起點(diǎn)、最大編輯終點(diǎn)以及位于最小編輯起點(diǎn)和最大編輯終點(diǎn) 之間的文本內(nèi)容之后,當(dāng)終端接收到撤銷操作時(shí),終端可以恢復(fù)最小編輯起點(diǎn)和最大編輯 終點(diǎn)之間的全部編輯內(nèi)容,減少了用戶需要執(zhí)行的撤銷步驟,提高了文本撤銷效率。此外, 終端只需對(duì)最小編輯起點(diǎn)、最大編輯終點(diǎn)以及位于最小編輯起點(diǎn)和最大編輯終點(diǎn)之間的文 本內(nèi)容進(jìn)行存儲(chǔ),而無需對(duì)每個(gè)文本編輯操作的編輯起點(diǎn)、編輯終點(diǎn)以及編輯起點(diǎn)和編輯 終點(diǎn)之間的文本內(nèi)容進(jìn)行存儲(chǔ),減少了終端需要存儲(chǔ)的編輯起點(diǎn)、編輯終點(diǎn)以及文本內(nèi)容 的個(gè)數(shù),降低了終端緩存時(shí)需要占用的內(nèi)存。
[0161] 下述為本公開裝置實(shí)施例,可以用于執(zhí)行本公開方法實(shí)施例。對(duì)于本公開裝置實(shí) 施例中未披露的細(xì)節(jié),請(qǐng)參照本公開方法實(shí)施例。
[0162] 圖3是根據(jù)一示例性實(shí)施例示出的一種文本編輯裝置的框圖,如圖3所示,該文本 編輯裝置可以包括但不限于:編輯操作接收模塊301、第一確定模塊302、第一存儲(chǔ)模塊303 和文本編輯模塊304。
[0163] 編輯操作接收模塊301,被配置為接收文本編輯操作;
[0164] 第一確定模塊302,被配置為確定編輯操作接收模塊301接收到的文本編輯操作 在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與文本 文件的起始位置之間的偏移量位置,編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與文本文 件的結(jié)束位置之間的偏移量位置;
[0165] 第一存儲(chǔ)模塊303,被配置為將第一確定模塊302確定的編輯起點(diǎn)、編輯終點(diǎn)以及 位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0166] 文本編輯模塊304,被配置為根據(jù)文本編輯操作編輯文本內(nèi)容。
[0167] 綜上所述,本公開實(shí)施例中提供的文本編輯裝置,通過將文本編輯操作的編輯起 點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ),使得終端可以 無需緩存文本文件中的全部?jī)?nèi)容,而是只緩存編輯起點(diǎn)和編輯終點(diǎn)之間的部分內(nèi)容,進(jìn)而 解決相關(guān)技術(shù)中終端緩存文本文件時(shí)需要耗用大量?jī)?nèi)存的問題;達(dá)到了可以減少終端需要 緩存的內(nèi)容,進(jìn)而降低需要占用的內(nèi)存的效果。
[0168] 圖4是根據(jù)另一示例性實(shí)施例示出的一種文本編輯裝置的框圖,如圖4所示,該文 本編輯裝置可以包括但不限于:編輯操作接收模塊401、第一確定模塊402、第一存儲(chǔ)模塊 403和文本編輯模塊404。
[0169] 編輯操作接收模塊401,被配置為接收文本編輯操作;
[0170] 第一確定模塊402,被配置為確定編輯操作接收模塊401接收到的文本編輯操作 在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與文本 文件的起始位置之間的偏移量位置,編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符與文本文 件的結(jié)束位置之間的偏移量位置;
[0171] 第一存儲(chǔ)模塊403,被配置為將第一確定模塊402確定的編輯起點(diǎn)、編輯終點(diǎn)以及 位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0172] 文本編輯模塊404,被配置為根據(jù)文本編輯操作編輯文本內(nèi)容。
[0173] 在本實(shí)施例的第一種可能的實(shí)現(xiàn)方式中,第一確定模塊402,被配置為:
[0174] 根據(jù)定位光標(biāo)與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)定位光 標(biāo)與文本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0175] 在文本編輯操作為前向刪除操作時(shí),根據(jù)定位光標(biāo)后退一個(gè)字符之后所在的位置 與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)定位光標(biāo)當(dāng)前所在的位置與文 本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0176] 在文本編輯操作為后向刪除操作時(shí),根據(jù)定位光標(biāo)當(dāng)前所在的位置與文本文件的 起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)定位光標(biāo)前進(jìn)一個(gè)字符之后所在的位置與文 本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0177] 在文本編輯操作為對(duì)選定的文本內(nèi)容的選定刪除操作時(shí),根據(jù)選定的文本內(nèi)容中 首個(gè)字符所在的位置與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),根據(jù)選中的文本 內(nèi)容中最后一個(gè)字符所在的位置與文本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn);
[0178] 在文本編輯操作為替換操作時(shí),則根據(jù)替換區(qū)域中首次出現(xiàn)查找的文本內(nèi)容中的 首個(gè)字符的位置與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),并根據(jù)替換區(qū)域中末 次出現(xiàn)查找的文本內(nèi)容中的最后一個(gè)字符的位置與文本文件的結(jié)束位置之間的偏移量計(jì) 算編輯終點(diǎn);
[0179] 在文本編輯操作為對(duì)選中的文本內(nèi)容的格式更改操作時(shí),根據(jù)選中的文本內(nèi)容中 首個(gè)字符所在的位置與文本文件的起始位置之間的偏移量計(jì)算編輯起點(diǎn),根據(jù)選中的文本 內(nèi)容中最后一個(gè)字符所在的位置與文本文件的結(jié)束位置之間的偏移量計(jì)算編輯終點(diǎn)。
[0180] 在本實(shí)施例的第二種可能的實(shí)現(xiàn)方式中,裝置還包括:
[0181] 操作檢測(cè)模塊405,被配置為在文本編輯操作為輸入操作、前向刪除操作或者后向 刪除操作時(shí),檢測(cè)文本編輯操作與最近一次接收到的歷史文本編輯操作是否是關(guān)聯(lián)操作;
[0182] 第二確定模塊406,被配置為在操作檢測(cè)模塊405的檢測(cè)結(jié)果為文本編輯操作與 歷史文本編輯操作是關(guān)聯(lián)操作時(shí),從文本編輯操作的編輯起點(diǎn)和歷史文本編輯操作的編輯 起點(diǎn)中選擇最小編輯起點(diǎn),從文本編輯操作的編輯終點(diǎn)和歷史文本編輯操作的編輯終點(diǎn)中 選擇最大編輯終點(diǎn);
[0183] 第二存儲(chǔ)模塊407,被配置為將第二確定模塊406確定的最小編輯起點(diǎn)、最大編輯 終點(diǎn)以及位于最小編輯起點(diǎn)和最大編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ);
[0184] 第一存儲(chǔ)模塊403,被配置為在操作檢測(cè)模塊405的檢測(cè)結(jié)果為文本編輯操作與 歷史文本編輯操作不是關(guān)聯(lián)操作時(shí),執(zhí)行將編輯起點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯 終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)的步驟。
[0185] 在本實(shí)施例的第三種可能的實(shí)現(xiàn)方式中,操作檢測(cè)模塊405,包括:
[0186] 第一檢測(cè)單元405a,被配置為檢測(cè)文本編輯操作和歷史文本編輯操作是否是同種 類型的編輯操作;
[0187]和 / 或,
[0188] 第二檢測(cè)單元405b,被配置為檢測(cè)文本編輯操作和歷史文本編輯操作是否是編輯 位置連續(xù)的編輯操作;
[0189]和 / 或,
[0190] 第三檢測(cè)單元405c,被配置為檢測(cè)文本編輯操作與歷史文本編輯操作的編輯時(shí)間 間隔是否小于預(yù)定時(shí)間間隔。
[0191] 在本實(shí)施例的第四種可能的實(shí)現(xiàn)方式中,裝置還包括:
[0192] 撤銷操作接收模塊408,被配置為接收撤銷操作;
[0193] 信息選擇模塊409,被配置為從存儲(chǔ)的各組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容中選擇 與撤銷操作對(duì)應(yīng)的一組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容;
[0194] 內(nèi)容替換模塊410,被配置為使用選擇得到的文本內(nèi)容替換文本文件中處于選擇 得到的編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容。
[0195] 綜上所述,本公開實(shí)施例中提供的文本編輯裝置,通過將文本編輯操作的編輯起 點(diǎn)、編輯終點(diǎn)以及位于編輯起點(diǎn)和編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ),使得終端可以 無需緩存文本文件中的全部?jī)?nèi)容,而是只緩存編輯起點(diǎn)和編輯終點(diǎn)之間的部分內(nèi)容,進(jìn)而 解決相關(guān)技術(shù)中終端緩存文本文件時(shí)需要耗用大量?jī)?nèi)存的問題;達(dá)到了可以減少終端需要 緩存的內(nèi)容,進(jìn)而降低需要占用的內(nèi)存的效果。
[0196] 關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法 的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
[0197] 圖5是根據(jù)一示例性實(shí)施例示出的一種文本編輯裝置500的框圖。例如,裝置500 可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備, 健身設(shè)備,個(gè)人數(shù)字助理等。
[0198] 參照?qǐng)D5,裝置500可以包括以下一個(gè)或多個(gè)組件:處理組件502,存儲(chǔ)器504,電 源組件506,多媒體組件508,音頻組件510,輸入/輸出(I/O)的接口 512,傳感器組件514, 以及通信組件516。
[0199] 處理組件502通??刂蒲b置500的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相 機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件502可以包括一個(gè)或多個(gè)處理器518來執(zhí)行指 令,以完成上述的方法的全部或部分步驟。此外,處理組件502可以包括一個(gè)或多個(gè)模塊, 便于處理組件502和其他組件之間的交互。例如,處理組件502可以包括多媒體模塊,以方 便多媒體組件508和處理組件502之間的交互。
[0200] 存儲(chǔ)器504被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置500的操作。這些數(shù)據(jù)的 示例包括用于在裝置500上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù), 消息,圖片,視頻等。存儲(chǔ)器504可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的 組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPR0M),可擦除 可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PR0M),只讀存儲(chǔ)器(R0M),磁存儲(chǔ)器,快閃 存儲(chǔ)器,磁盤或光盤。
[0201] 電源組件506為裝置500的各種組件提供電力。電源組件506可以包括電源管理 系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置500生成、管理和分配電力相關(guān)聯(lián)的組件。
[0202] 多媒體組件508包括在所述裝置500和用戶之間的提供一個(gè)輸出接口的屏幕。在 一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板, 屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳 感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng) 作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多 媒體組件508包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置500處于操作模式,如拍攝 模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置 攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
[0203] 音頻組件510被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件510包括一個(gè) 麥克風(fēng)(MIC),當(dāng)裝置500處于操作模式,如呼叫模式、記錄模式和語音識(shí)別模式時(shí),麥克風(fēng) 被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器504或經(jīng)由通 信組件516發(fā)送。在一些實(shí)施例中,音頻組件510還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
[0204] I/O接口 512為處理組件502和外圍接口模塊之間提供接口,上述外圍接口模塊可 以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動(dòng)按鈕和鎖 定按鈕。
[0205] 傳感器組件514包括一個(gè)或多個(gè)傳感器,用于為裝置500提供各個(gè)方面的狀態(tài)評(píng) 估。例如,傳感器組件514可以檢測(cè)到裝置500的打開/關(guān)閉狀態(tài),組件的相對(duì)定位,例如 所述組件為裝置500的顯示器和小鍵盤,傳感器組件514還可以檢測(cè)裝置500或裝置500 一個(gè)組件的位置改變,用戶與裝置500接觸的存在或不存在,裝置500方位或加速/減速和 裝置500的溫度變化。傳感器組件514可以包括接近傳感器,被配置用來在沒有任何的物 理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件514還可以包括光傳感器,如CMOS或C⑶圖像 傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件514還可以包括加速度傳 感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
[0206] 通信組件516被配置為便于裝置500和其他設(shè)備之間有線或無線方式的通信。裝 置500可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性 實(shí)施例中,通信組件516經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān) 信息。在一個(gè)示例性實(shí)施例中,所述通信組件516還包括近場(chǎng)通信(NFC)模塊,以促進(jìn)短程 通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶 (UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
[0207] 在示例性實(shí)施例中,裝置500可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字 信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門陣列 (FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
[0208] 在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例 如包括指令的存儲(chǔ)器504,上述指令可由裝置500的處理器518執(zhí)行以完成上述方法。例 如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、 軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
[0209] 應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并 且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【權(quán)利要求】
1. 一種文本編輯方法,其特征在于,包括: 接收文本編輯操作; 確定所述文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng)求編 輯的文本內(nèi)容中的首字符與所述文本文件的起始位置之間的偏移量位置,所述編輯終點(diǎn)是 請(qǐng)求編輯的文本內(nèi)容中的末字符與所述文本文件的結(jié)束位置之間的偏移量位置; 將所述編輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi) 容進(jìn)行關(guān)聯(lián)存儲(chǔ); 根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述文本編輯操作在文本文件 中的編輯起點(diǎn)和編輯終點(diǎn),包括: 若所述文本編輯操作為輸入操作,則根據(jù)定位光標(biāo)與所述文本文件的起始位置之間的 偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)與所述文本文件的結(jié)束位置之間的偏移量 計(jì)算所述編輯終點(diǎn); 若所述文本編輯操作為前向刪除操作,則根據(jù)定位光標(biāo)后退一個(gè)字符之后所在的位置 與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)當(dāng)前所 在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn); 若所述文本編輯操作為后向刪除操作,則根據(jù)所述定位光標(biāo)當(dāng)前所在的位置與所述文 本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)前進(jìn)一個(gè)字符之 后所在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn); 若所述文本編輯操作為對(duì)選定的文本內(nèi)容的選定刪除操作,則根據(jù)所述選定的文本內(nèi) 容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),根 據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間的偏 移量計(jì)算所述編輯終點(diǎn); 若所述文本編輯操作為替換操作,則根據(jù)替換區(qū)域中首次出現(xiàn)查找的文本內(nèi)容中的首 個(gè)字符的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述替 換區(qū)域中末次出現(xiàn)所述查找的文本內(nèi)容中的最后一個(gè)字符的位置與所述文本文件的結(jié)束 位置之間的偏移量計(jì)算所述編輯終點(diǎn); 若所述文本編輯操作為對(duì)選中的文本內(nèi)容的格式更改操作,則根據(jù)所述選中的文本內(nèi) 容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),根 據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間的偏 移量計(jì)算所述編輯終點(diǎn)。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述文本編輯操作為輸入操作、前向刪除操作或者后向刪除操作時(shí),檢測(cè)所述文本 編輯操作與最近一次接收到的歷史文本編輯操作是否是關(guān)聯(lián)操作; 如果所述文本編輯操作與所述歷史文本編輯操作是關(guān)聯(lián)操作,則從所述文本編輯操作 的編輯起點(diǎn)和所述歷史文本編輯操作的編輯起點(diǎn)中選擇最小編輯起點(diǎn),從所述文本編輯操 作的編輯終點(diǎn)和所述歷史文本編輯操作的編輯終點(diǎn)中選擇最大編輯終點(diǎn); 將所述最小編輯起點(diǎn)、所述最大編輯終點(diǎn)以及位于所述最小編輯起點(diǎn)和所述最大編輯 終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ); 如果所述文本編輯操作與所述歷史文本編輯操作不是關(guān)聯(lián)操作,則執(zhí)行所述將所述編 輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存 儲(chǔ)的步驟。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述檢測(cè)所述文本編輯操作與最近一次 接收到的歷史文本編輯操作是否是關(guān)聯(lián)操作,包括: 檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是同種類型的編輯操作; 和/或, 檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是編輯位置連續(xù)的編輯操作; 和/或, 檢測(cè)所述文本編輯操作與所述歷史文本編輯操作的編輯時(shí)間間隔是否小于預(yù)定時(shí)間 間隔。
5. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述方法還包括: 接收撤銷操作; 從存儲(chǔ)的各組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容中選擇與所述撤銷操作對(duì)應(yīng)的一組編輯 起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容; 使用選擇得到的文本內(nèi)容替換所述文本文件中處于選擇得到的所述編輯起點(diǎn)和所述 編輯終點(diǎn)之間的文本內(nèi)容。
6. -種文本編輯裝置,其特征在于,包括: 編輯操作接收模塊,被配置為接收文本編輯操作; 第一確定模塊,被配置為確定所述編輯操作接收模塊接收到的所述文本編輯操作在文 本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的首字符與所述 文本文件的起始位置之間的偏移量位置,所述編輯終點(diǎn)是請(qǐng)求編輯的文本內(nèi)容中的末字符 與所述文本文件的結(jié)束位置之間的偏移量位置; 第一存儲(chǔ)模塊,被配置為將所述第一確定模塊確定的所述編輯起點(diǎn)、所述編輯終點(diǎn)以 及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ); 文本編輯模塊,被配置為根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述第一確定模塊,被配置為: 在所述文本編輯操作為輸入操作時(shí),根據(jù)定位光標(biāo)與所述文本文件的起始位置之間的 偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)與所述文本文件的結(jié)束位置之間的偏移量 計(jì)算所述編輯終點(diǎn); 在所述文本編輯操作為前向刪除操作時(shí),根據(jù)定位光標(biāo)后退一個(gè)字符之后所在的位置 與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)當(dāng)前所 在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn); 在所述文本編輯操作為后向刪除操作時(shí),根據(jù)所述定位光標(biāo)當(dāng)前所在的位置與所述文 本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述定位光標(biāo)前進(jìn)一個(gè)字符之 后所在的位置與所述文本文件的結(jié)束位置之間的偏移量計(jì)算所述編輯終點(diǎn); 在所述文本編輯操作為對(duì)選定的文本內(nèi)容的選定刪除操作時(shí),根據(jù)所述選定的文本內(nèi) 容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),根 據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間的偏 移量計(jì)算所述編輯終點(diǎn); 在所述文本編輯操作為替換操作時(shí),則根據(jù)替換區(qū)域中首次出現(xiàn)查找的文本內(nèi)容中的 首個(gè)字符的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),并根據(jù)所述 替換區(qū)域中末次出現(xiàn)所述查找的文本內(nèi)容中的最后一個(gè)字符的位置與所述文本文件的結(jié) 束位置之間的偏移量計(jì)算所述編輯終點(diǎn); 在所述文本編輯操作為對(duì)選中的文本內(nèi)容的格式更改操作時(shí),根據(jù)所述選中的文本內(nèi) 容中首個(gè)字符所在的位置與所述文本文件的起始位置之間的偏移量計(jì)算所述編輯起點(diǎn),根 據(jù)所述選中的文本內(nèi)容中最后一個(gè)字符所在的位置與所述文本文件的結(jié)束位置之間的偏 移量計(jì)算所述編輯終點(diǎn)。
8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 操作檢測(cè)模塊,被配置為在所述文本編輯操作為輸入操作、前向刪除操作或者后向刪 除操作時(shí),檢測(cè)所述文本編輯操作與最近一次接收到的歷史文本編輯操作是否是關(guān)聯(lián)操 作; 第二確定模塊,被配置為在所述操作檢測(cè)模塊的檢測(cè)結(jié)果為所述文本編輯操作與所述 歷史文本編輯操作是關(guān)聯(lián)操作時(shí),從所述文本編輯操作的編輯起點(diǎn)和所述歷史文本編輯操 作的編輯起點(diǎn)中選擇最小編輯起點(diǎn),從所述文本編輯操作的編輯終點(diǎn)和所述歷史文本編輯 操作的編輯終點(diǎn)中選擇最大編輯終點(diǎn); 第二存儲(chǔ)模塊,被配置為將所述第二確定模塊確定的所述最小編輯起點(diǎn)、所述最大編 輯終點(diǎn)以及位于所述最小編輯起點(diǎn)和所述最大編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ); 所述第一存儲(chǔ)模塊,被配置為在所述操作檢測(cè)模塊的檢測(cè)結(jié)果為所述文本編輯操作與 所述歷史文本編輯操作不是關(guān)聯(lián)操作時(shí),執(zhí)行所述將所述編輯起點(diǎn)、所述編輯終點(diǎn)以及位 于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容進(jìn)行關(guān)聯(lián)存儲(chǔ)的步驟。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述操作檢測(cè)模塊,包括: 第一檢測(cè)單元,被配置為檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是同種 類型的編輯操作; 和/或, 第二檢測(cè)單元,被配置為檢測(cè)所述文本編輯操作和所述歷史文本編輯操作是否是編輯 位置連續(xù)的編輯操作; 和/或, 第三檢測(cè)單元,被配置為檢測(cè)所述文本編輯操作與所述歷史文本編輯操作的編輯時(shí)間 間隔是否小于預(yù)定時(shí)間間隔。
10. 根據(jù)權(quán)利要求6至9任一所述的裝置,其特征在于,所述裝置還包括: 撤銷操作接收模塊,被配置為接收撤銷操作; 信息選擇模塊,被配置為從存儲(chǔ)的各組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容中選擇與所述 撤銷操作對(duì)應(yīng)的一組編輯起點(diǎn)、編輯終點(diǎn)和文本內(nèi)容; 內(nèi)容替換模塊,被配置為使用選擇得到的文本內(nèi)容替換所述文本文件中處于選擇得到 的所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi)容。
11. 一種文本編輯裝置,其特征在于,包括: 處理器; 用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 接收文本編輯操作; 確定所述文本編輯操作在文本文件中的編輯起點(diǎn)和編輯終點(diǎn),所述編輯起點(diǎn)是請(qǐng)求編 輯的文本內(nèi)容中的首字符與所述文本文件的起始位置之間的偏移量位置,所述編輯終點(diǎn)是 請(qǐng)求編輯的文本內(nèi)容中的末字符與所述文本文件的結(jié)束位置之間的偏移量位置; 將所述編輯起點(diǎn)、所述編輯終點(diǎn)以及位于所述編輯起點(diǎn)和所述編輯終點(diǎn)之間的文本內(nèi) 容進(jìn)行關(guān)聯(lián)存儲(chǔ); 根據(jù)所述文本編輯操作編輯所述文本內(nèi)容。
【文檔編號(hào)】G06F17/24GK104156344SQ201410345952
【公開日】2014年11月19日 申請(qǐng)日期:2014年7月21日 優(yōu)先權(quán)日:2014年7月21日
【發(fā)明者】楊亮, 萬鈺臻, 韓偉 申請(qǐng)人:小米科技有限責(zé)任公司