文档的占位符重组方法、装置、设备及存储介质与流程

文档序号:29445937发布日期:2022-03-30 11:00阅读:114来源:国知局
文档的占位符重组方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种文档的占位符重组方法、装置、设备及存储介质。


背景技术:

2.用以,目前,在利用模板技术实现office文档的内容替换过程中,由于,office文档在存储过程中,以xml文件的形式存储,其中,在一些场景中,xml文件会将office文档的占位符拆分为两个或两个以上的占位符内容,并用两个或两个以上的标签存储,这样一来在需要基于完整的占位符完成实际数据的替换时,由于xml文件中每个标签的占位符内容不完整,就会导致占位符匹配失败,从而导致实际数据替换出错。


技术实现要素:

3.本技术实施例的目的在于提供一种文档的占位符重组方法、装置、设备及存储介质,用以通过对文档的占位符进行重组,进而确定在替换实际数据时,能够匹配正确的占位符,从而实现正确替换实际数据。
4.为此,本技术第一方面公开一种文档的占位符重组方法,所述方法包括以下步骤:
5.基于目标文档的文本标签列表找出占位符涵盖的文本标签,所述占位符涵盖的文本标签至少包括第一文本标签和第二文本标签;
6.识别所述第一文本标签的尾部占位符,并将所述第一文本标签的尾部占位符拆分内容替换为完整占位符;
7.识别所述第二文本标签的头部占位符,并将所述第二文本标签的头部占位符拆分内容替换为空。
8.在本技术第一方面中,作为可选的实施方式,在基于目标文档的文本标签列表找出占位符涵盖的文本标签之后,所述方法还包括:
9.当所述占位符涵盖的文本标签包括第三文本标签时,将所述第三文本标签的文本内容替换为空,其中,所述第三文本在所述第一文本标签之后,所述第二文本标签之前。
10.在本技术第一方面中,作为可选的实施方式,在所述基于目标文档的文本标签列表找出占位符涵盖的文本标签之前,所述方法还包括:
11.获取所述目标文档的xml文件;
12.提取所述xml文件中所有文本标签并形成所述文本标签列表。
13.在本技术第一方面中,作为可选的实施方式,所述基于目标文档的文本标签列表找出占位符涵盖的文本标签,包括:
14.提取所述文本标签列表中的所有所述文本标签的文本内容,并拼接成全文字符串;
15.基于所述全文字符串查询所述占位符;
16.基于所述全文字符串和所述文本标签列表计算得到所述占位符涵盖的文本标签。
17.在本技术第一方面中,作为可选的实施方式,所述基于所述全文字符串和所述文本标签列表计算得到所述占位符涵盖的文本标签,包括:
18.基于所述全文字符串确定所述占位符的在所述全文字符串中的起始索引和结束索引;
19.计算每个所述文本标签的文本内容在所述全文字符串的起始索引位置,并得到索引列表;
20.基于所述占位符的起始索引和所述占位符的结束索引确定所述占位符在所述索引列表中涵盖到列表元素;
21.基于所述列表元素在所述索引列表的索引位置,在所述文本标签列表中查询所述列表元素对应的文本标签,并得到所述占位符涵盖的文本标签。
22.6在本技术第一方面中,作为可选的实施方式,在所述提取所述xml文件中所有文本标签并形成所述文本标签列表之前,所述方法还包括:
23.确定所述目标文档的类型;
24.基于所述目标文档的类型确定所述xml文件中的文本标签。
25.在本技术第一方面中,作为可选的实施方式,所述目标文档的类型为word类型、powerpoint类型的一种;
26.以及,所述基于所述目标文档的类型确定所述xml文件中的文本标签,包括:
27.当所述目标文档的类型为word类型时,将所述xml文件的《w:t》标签确定为所述xml文件的文本标签;
28.当所述目标文档的类型为powerpoint类型时,将所述xml文件的《a:t》标签确定为所述xml文件的文本标签。
29.本技术第二方面公开一种文档的占位符重组装置,所述装置包括:
30.查询模块,用于基于目标文档的文本标签列表找出占位符涵盖的文本标签,所述占位符涵盖的文本标签至少包括第一文本标签和第二文本标签;
31.第一替换模块,用于识别所述第一文本标签的尾部占位符,并将所述第一文本标签的尾部占位符拆分内容替换为完整占位符;
32.第二替换模块,用于识别所述第二文本标签的头部占位符,并将所述第二文本标签的头部占位符拆分内容替换为空。
33.本技术第三方面公开一种文档的占位符重组设备,所述设备包括:
34.存储有可执行程序代码的存储器;
35.与所述存储器耦合的处理器;
36.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本技术第一方面的文档的占位符重方法。
37.本技术第四方面公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本技术第一方面的文档的占位符重方法。
38.与现有技术相比,本技术具有如下有益技术效果:
39.本技术可应用在将实际数据替换目标文档的占位符这一过程,并解决这一过程中,由于目标文档的占位符拆分而导致实际数据无法正确替换这一技术问题,具体地,本技术实施例通过目标文档的文本标签列表,能够找出目标文档中的占位符所涵盖的文本标
签,即找到占位符涵盖的第一文本标签和第二文本标签,进而通过识别第一文本标签的尾部占位符和第二文本标签的头部占位符,可将第一文本标签的尾部占位符拆分内容替换为完整占位符,并将第二文本标签的头部占位符拆分内容替换为空,这样一来,就能够将目标文档中被拆分的第一文本标签和第二文本标签重组完整的占位符,例如,假设在目标文档中,占位符a被拆分成用文本标签p1和p2表示,此时,如果要替换实际数据s,则需要找到匹配的占位符,如匹配占位符“123abc”,进而将123abc替换为实际数据,然而,由于占位符“123abc”被拆分为“123”和“abc”,即占位符“123abc”被拆分为文本标签p1和p2,进而就无法匹配到完整的“123abc”,这样一来,就导致实际数据替换失败。
40.另一方面,通过将第二文本标签的占位符内容替换为空,可避免是替换其他实际数据时,该第二文本标签的内容被命中,从而导致实际数据出错。
附图说明
41.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
42.图1是本技术实施例公开的一种文档的占位符重组方法的流程示意图;
43.图2是本技术实施例公开的一种文档的占位符重组装置的结构示意图;
44.图3是本技术实施例公开的一种文档的占位符重组设备的结构示意图。
具体实施方式
45.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
46.实施例一
47.请参阅图1,图1是本技术实施例公开的一种文档的占位符重组方法的流程示意图。如图1所示,本技术实施例的方法包括以下步骤:
48.101、基于目标文档的文本标签列表找出占位符涵盖的文本标签,占位符涵盖的文本标签至少包括第一文本标签和第二文本标签;
49.102、识别第一文本标签的尾部占位符,并将第一文本标签的尾部占位符拆分内容替换为完整占位符;
50.103、识别第二文本标签的头部占位符,并将第二文本标签的头部占位符拆分内容替换为空。
51.本技术实施例的文档的占位符重组方法可应用在将实际数据替换目标文档的占位符这一过程,并解决这一过程中,由于目标文档的占位符拆分而导致实际数据无法正确替换这一技术问题,具体地,本技术实施例通过目标文档的文本标签列表,能够找出目标文档中的占位符所涵盖的文本标签,即找到占位符涵盖的第一文本标签和第二文本标签,进而通过识别第一文本标签的尾部占位符和第二文本标签的头部占位符,可将第一文本标签的尾部占位符拆分内容替换为完整占位符,并将第二文本标签的头部占位符拆分内容替换为空,这样一来,就能够将目标文档中被拆分的第一文本标签和第二文本标签重组完整的占位符,例如,假设在目标文档中,占位符a被拆分成用文本标签p1和p2表示,此时,如果要
替换实际数据s,则需要找到匹配的占位符,如匹配占位符“123abc”,进而将123abc替换为实际数据,然而,由于占位符“123abc”被拆分为“123”和“abc”,即占位符“123abc”被拆分为文本标签p1和p2,进而就无法匹配到完整的“123abc”,这样一来,就导致实际数据替换失败。
52.另一方面,通过将第二文本标签的占位符内容替换为空,可避免是替换其他实际数据时,该第二文本标签的内容被命中,从而导致实际数据出错。
53.在本技术实施例中,对比步骤103,并将第二文本标签的头部占位符拆分内容替换为空是指删除第二文本标签的头部占位符内容。
54.在本技术实施例中,作为可选的实施方式,在步骤101:基于目标文档的文本标签列表找出占位符涵盖的文本标签之后,本技术实施例的方法还包括以下步骤:
55.当占位符涵盖的文本标签包括第三文本标签时,将第三文本标签的文本内容替换为空,其中,第三文本在第一文本标签之后,第二文本标签之前。
56.在一些场景中,一个占位符涵盖了三个文本标签,即涵盖开头的第一文本标签、位于中间的第三文本标签,位于尾部的第二文本标签,此时为了确保第三文本标签不被其他实际数据命中,则需要将第三文本标签的内容删除。
57.在本技术实施例中,作为可选的实施方式,在步骤101:基于目标文档的文本标签列表找出占位符涵盖的文本标签之前,本技术实施例的方法还包括以下步骤:
58.获取目标文档的xml文件;
59.提取xml文件中所有文本标签并形成文本标签列表。
60.在本技术实施例中,目标文档为office文档中的word文档或powerpoint文档中的一种,另一方面,由于office文档虽然看起来是一个简单的文件,但其实是一个压缩文件,在压缩文件中存放了很多xml文件,在xml文件中由很多xml格式标签组成,相应地,在office文档中输入的内容都会被存储在这些xml格式标签中,例如,文本内容会存储在文本标签中,因此,通过获取目标文档的xml文件,可提取xml文件中所有文本标签并形成文本标签列表。
61.在本技术实施例中,作为可选的实施方式,步骤101:基于目标文档的文本标签列表找出占位符涵盖的文本标签,包括以下子步骤:
62.提取文本标签列表中的所有文本标签的文本内容,并拼接成全文字符串;
63.基于全文字符串查询占位符;
64.基于全文字符串和文本标签列表计算得到占位符涵盖的文本标签。
65.在本可选的实施方式中,通过提取文本标签列表中的所有文本标签的文本内容,可并拼接成全文字符串,例如,假设文本标签列表中有3个文本标签,其中,第一个文本标签的文本内容为“ab”,第二个文本标签的内容为“回车”,第三个文本标签为“de”,此时,拼接成全文字符串为“ab回车de”。
66.在本可选的实施方式中,可选地,基于全文字符串查询占位符的一种具体实施方式为:基于正则表达式在全文字符串查询占位符,其中,通过正则表达式在全文字符串查询占位符,可准确地在全文字符串查询到占位符。
67.在本技术实施例中,作为可选的实施方式,步骤:基于全文字符串和文本标签列表计算得到占位符涵盖的文本标签,包括以下子步骤:
68.基于全文字符串确定占位符的在全文字符串中的起始索引和结束索引;
69.计算每个文本标签的文本内容在全文字符串的起始索引位置,并得到索引列表;
70.基于占位符的起始索引和占位符的结束索引确定占位符在索引列表中涵盖到列表元素;
71.基于列表元素在索引列表的索引位置,在文本标签列表中查询列表元素对应的文本标签,并得到占位符涵盖的文本标签。
72.在本可选的实施方式中,作为一个示例,文本标签列表为{文本标签1、文本标签2、文本标签3},且全文字符串为“ab回车de”,第一个文本标签的起始索引和结束索引为0、1,而第二个文本标签的起始索引和结束索引分别为2、3,而第三个文本标签的起始索引和结束索引分别为4、5,相应地,文本标签的文本内容在全文字符串的起始索引位置分别为:0、2、4,即索引列表为{0、2、4}。进一步地,假设占位符的起始索引为2,占位符的结束索引为5,则可确定索引列表中的元素“2”和元素“4”被占位符涵盖,此时,元素“2”在索引列表中的索引位置为2,而元素“4”在索引列表中的索引位置为3,则基于索引位置2和索引位置3可在文本标签列表{文本标签1、文本标签2、文本标签3}中确定下标为2的文本标签2和下标为3的文本标签3。
73.在本技术实施例中,作为可选的实施方式,在步骤:提取xml文件中所有文本标签并形成文本标签列表之前,本技术实施例的方法还包括以下:
74.确定目标文档的类型;
75.基于目标文档的类型确定xml文件中的文本标签。
76.在本技术实施例中,由于目标文档可以是word文档或powerpoint文档,而word文档的xml文件与powerpoint文档的xml文件用不同的标签存储文本,因此需要基于目标文档的类型确定xml文件中的文本标签,从而提取正确文本标签。
77.在本技术实施例中,作为可选的实施方式,目标文档的类型为word类型、powerpoint类型的一种,即目标文档为word文档、execl文档中的一种。
78.进一步地,步骤:基于目标文档的类型确定xml文件中的文本标签,包括以下步骤:
79.当目标文档的类型为word类型时,将xml文件的《w:t》标签确定为xml文件的文本标签;
80.当目标文档的类型为powerpoint类型时,将xml文件的《a:t》标签确定为xml文件的文本标签。
81.在本可选的实施例中,当目标文档的类型为word类型时,可将xml文件的《w:t》标签确定为xml文件的文本标签,而当目标文档的类型为powerpoint类型时,可将xml文件的《a:t》标签确定为xml文件的文本标签。
82.实施例二
83.请参阅图3,图3是本技术实施例公开的一种文档的占位符重组装置的结构示意图。如图3所示,本技术实施例的装置包括:
84.查询模块201,用于基于目标文档的文本标签列表找出占位符涵盖的文本标签,占位符涵盖的文本标签至少包括第一文本标签和第二文本标签;
85.第一替换模块202,用于识别第一文本标签的尾部占位符,并将第一文本标签的尾部占位符拆分内容替换为完整占位符;
86.第二替换模块203,用于识别第二文本标签的头部占位符,并将第二文本标签的头部占位符拆分内容替换为空。
87.本技术实施例的文档的占位符重组装置可应用在将实际数据替换目标文档的占位符这一过程,并解决这一过程中,由于目标文档的占位符拆分而导致实际数据无法正确替换这一技术问题,具体地,本技术实施例通过目标文档的文本标签列表,能够找出目标文档中的占位符所涵盖的文本标签,即找到占位符涵盖的第一文本标签和第二文本标签,进而通过识别第一文本标签的尾部占位符和第二文本标签的头部占位符,可将第一文本标签的尾部占位符拆分内容替换为完整占位符,并将第二文本标签的头部占位符拆分内容替换为空,这样一来,就能够将目标文档中被拆分的第一文本标签和第二文本标签重组完整的占位符,例如,假设在目标文档中,占位符a被拆分成用文本标签p1和p2表示,此时,如果要替换实际数据s,则需要找到匹配的占位符,如匹配占位符“123abc”,进而将123abc替换为实际数据,然而,由于占位符“123abc”被拆分为“123”和“abc”,即占位符“123abc”被拆分为文本标签p1和p2,进而就无法匹配到完整的“123abc”,这样一来,就导致实际数据替换失败。
88.另一方面,通过将第二文本标签的占位符内容替换为空,可避免是替换其他实际数据时,该第二文本标签的内容被命中,从而导致实际数据出错。
89.实施例三
90.请参阅图3,图3是本技术实施例公开的一种文档的占位符重组设备的结构示意图。如图3所示,本技术实施例的设备包括:
91.存储有可执行程序代码的存储器301;
92.与存储器301耦合的处理器302;
93.处理器302调用存储器301中存储的可执行程序代码,执行本技术实施例的文档的占位符重方法。
94.本技术实施例的文档的占位符重组设备可应用在将实际数据替换目标文档的占位符这一过程,并解决这一过程中,由于目标文档的占位符拆分而导致实际数据无法正确替换这一技术问题,具体地,本技术实施例通过目标文档的文本标签列表,能够找出目标文档中的占位符所涵盖的文本标签,即找到占位符涵盖的第一文本标签和第二文本标签,进而通过识别第一文本标签的尾部占位符和第二文本标签的头部占位符,可将第一文本标签的尾部占位符拆分内容替换为完整占位符,并将第二文本标签的头部占位符拆分内容替换为空,这样一来,就能够将目标文档中被拆分的第一文本标签和第二文本标签重组完整的占位符,例如,假设在目标文档中,占位符a被拆分成用文本标签p1和p2表示,此时,如果要替换实际数据s,则需要找到匹配的占位符,如匹配占位符“123abc”,进而将123abc替换为实际数据,然而,由于占位符“123abc”被拆分为“123”和“abc”,即占位符“123abc”被拆分为文本标签p1和p2,进而就无法匹配到完整的“123abc”,这样一来,就导致实际数据替换失败。
95.另一方面,通过将第二文本标签的占位符内容替换为空,可避免是替换其他实际数据时,该第二文本标签的内容被命中,从而导致实际数据出错。
96.实施例四
97.本技术实施例公开一种存储介质,存储介质存储有计算机指令,计算机指令被调
用时,用于执行本技术实施例一的文档的占位符重方法。
98.本技术实施例的文档的占位符重组设备可应用在将实际数据替换目标文档的占位符这一过程,并解决这一过程中,由于目标文档的占位符拆分而导致实际数据无法正确替换这一技术问题,具体地,本技术实施例通过目标文档的文本标签列表,能够找出目标文档中的占位符所涵盖的文本标签,即找到占位符涵盖的第一文本标签和第二文本标签,进而通过识别第一文本标签的尾部占位符和第二文本标签的头部占位符,可将第一文本标签的尾部占位符拆分内容替换为完整占位符,并将第二文本标签的头部占位符拆分内容替换为空,这样一来,就能够将目标文档中被拆分的第一文本标签和第二文本标签重组完整的占位符,例如,假设在目标文档中,占位符a被拆分成用文本标签p1和p2表示,此时,如果要替换实际数据s,则需要找到匹配的占位符,如匹配占位符“123abc”,进而将123abc替换为实际数据,然而,由于占位符“123abc”被拆分为“123”和“abc”,即占位符“123abc”被拆分为文本标签p1和p2,进而就无法匹配到完整的“123abc”,这样一来,就导致实际数据替换失败。
99.另一方面,通过将第二文本标签的占位符内容替换为空,可避免是替换其他实际数据时,该第二文本标签的内容被命中,从而导致实际数据出错。
100.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
101.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
102.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
103.需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
104.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
105.以上仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1