CN106874242B - 一种排版方法和系统 - Google Patents
一种排版方法和系统 Download PDFInfo
- Publication number
- CN106874242B CN106874242B CN201710013265.9A CN201710013265A CN106874242B CN 106874242 B CN106874242 B CN 106874242B CN 201710013265 A CN201710013265 A CN 201710013265A CN 106874242 B CN106874242 B CN 106874242B
- Authority
- CN
- China
- Prior art keywords
- identifier
- character
- regular expression
- array
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/189—Automatic justification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种排版方法和系统,方法包括:根据排版要求将待处理的文本拆分成单字符或字符串;对单字符或字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;将判断得到的各个标识符进行存储;遍历各个标识符来对单字符进行替换处理或遍历各个标识符来对字符串之间的文本进行合并处理。本发明能够根据排版要求将文档中的文本拆分成单字符或字符串的形式,再利用设置的正则表达式对单字符或字符串进行判定,用标识符进行标记,再根据标识符对文本内容进行重新排版,极大的减少不规范的情况,也减轻了录入员的工作压力和难度。
Description
技术领域
本发明主要涉及数字排版技术领域,具体涉及一种排版方法和系统。
背景技术
扫描文档内容进行二次排版时,扫描到的原始内容格式存在着不规范的情况,不符合数字化排版的要求,例如:1、行后空格;2、题干、选项的行前空格;3、多余回车符。
目前,在纸质文档转化成数字文档时,录入者扫描纸质文档成数字化文档后,由于存在上述不规范情况,一般的处理方式是人工逐一进行规范排版处理,因此需要耗费大量时间精力去完成这件事,效率低且容易出错,而现有的一些自动排版方法处理的“不规范”情况比较单一且效果不佳。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种排版方法和系统,能够根据排版要求及设置的正则表达式对文档中不规范的情况进行排版,大大减轻录入员的工作压力和难度。
本发明解决上述技术问题的技术方案如下:一种排版方法,包括如下步骤:
根据排版要求将待处理的文本拆分成单字符或字符串;
将拆分的单字符用第一数组进行存储或将拆分的字符串用第二数组进行存储;
对第一数组中的单字符或第二数据组中的字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;
将判断第一数组得到的各个标识符用第三数组进行存储或将判断第二数组得到的各个标识符用第四数组进行存储;
遍历第三数组中的各个标识符来对单字符进行替换处理或遍历第四数组中的各个标识符来对字符串之间的文本进行合并处理。
本发明的有益效果是:能够根据排版要求将文档中的文本拆分成单字符或字符串的形式,再利用设置的正则表达式对单字符或字符串进行判定,用标识符进行标记,再根据标识符对文本内容进行重新排版,极大的减少不规范的情况,也减轻了录入员的工作压力和难度。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述索引时判断单字符是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第一正则表达式,并预先设置标识符:标识符An和标识符0n;
对第一数组中的单字符进行索引时,先判断当前索引的单字符是否为空字符,如果该单字符是空字符再判断该单字符的前一个索引的单字符与后一个索引的单字符是否符合设置的第一正则表达式,如果前一个索引的单字符与后一个索引的单字符均不符合第一正则表达式则用标识符0n标记该单字符,否则标记为An。
进一步,进行替换处理的具体方法为:将标记有标识符0n的单字符用预设的占位符进行替换处理。
进一步,判断当前索引的单字符是否为空字符的具体方法为:判断单字符的长度是否为0,如果为0则为空字符。
采用上述进一步方案的有益效果是:可根据需要设置一个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行替换处理,用占位符替换单字符来区别无需替换的单字符,将占位符去除能够实现非空字符与其他非空字符之间只保留一个空格的效果。
进一步,所述索引时判断单字符是否符合设置的正则表达式的具体方法为:
预先设置第二正则表达式和第三正则表达式,并预先设置标识符:标识符A1、标识符B1和标识符01;
对第一数组中的单字符进行索引时用设置的第二正则表达式和第三正则表达式对索引的单字符进行判别,如果该单字符符合第二正则表达式则用标识符A1标记,如果该单字符符合第三正则表达式则用标识符B1标记,如果均不符合第二正则表达式和第三正则表达式则用标识符01标记。
进一步,进行替换处理的具体方法为:将标记有标识符01的单字符用预设的占位符进行替换处理。
替换处理时,遍历单字符的数组,同时遍历存储有对应标识符的数组(第三数组),如果当前索引的单字符对应为标识符A1,该索引的单字符为起始索引,之后的遍历只有标识符不为“01”,即标识符为“A1”或者“B1”,就可把该索引定位结尾索引,如果标识符不为“01”的单字符无需替换,即标识符“01”所对应的单字符都无需进行占位符替换处理。
采用上述进一步方案的有益效果是:可根据需要设置两个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行替换处理,用占位符替换单字符来区别无需替换的单字符,将占位符去除能够实现非空字符与其他非空字符之间空格的效果。
进一步,进行替换处理后还包括将替换的占位符进行删除的步骤。
采用上述进一步方案的有益效果是:实现非空字符与其他非空字符之间空格的效果。
进一步,索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
采用上述进一步方案的有益效果是:可根据需要设置两个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行合并处理,可实现去除多余“回车”的效果。
进一步,对字符串之间的文本进行合并处理的具体方法为:根据第四数组中的各个标识符来确定字符串之间的文本合并范围,并根据合并范围删除字符串之间的文本。
合并范围的确定可根据下面两种方式:
方式一:遍历字符串的数组,同时遍历存储有对应标识符的数组(第四数组),如果当前索引的字符串对应为标识符A2,则递增索引,如果递增索引的字符串对应为标识符A2,此索引项作为需合并字符串的起始自字符串的索引项;如果递增索引的字符串对应为标识符B2,此索引项做为需合并字符串的结尾自字符串的索引项;遇到不符合任一正则表达式条件的标识符02,可不做处理继续下一个索引。
方式二:遍历字符串的数组,同时遍历存储有对应标识符的数组第四数组),如果当前索引的字符串对应为标识符B2或标识符X,则递增索引,递增的索引项做为需合并字符串的起始自字符串的索引项;如果递增索引的字符串对应为标识符B2,此索引项做为需合并字符串的结尾自字符串的索引项;遇到不符合任一正则表达式条件的标识符02,可不做处理继续下一个索引。
最后,使用起始索引和结尾索引去对应字符串之间的文本,得到文本合并范围,处于两个索引区间的文本使用循环的方式全部拼接合并,即删除合并范围内的文本,从而完成去回车的操作。
采用上述进一步方案的有益效果是:可实现去除多余“回车”的效果。
本发明解决上述技术问题的另一技术方案如下:一种排版系统,包括:
拆分模块,用于根据排版要求将待处理的文本拆分成单字符或字符串;
存储模块,用于将所述拆分模块中拆分的单字符用第一数组进行存储或将拆分的字符串用第二数组进行存储;还用于将所述标记模块中判断第一数组得到的各个标识符用第三数组进行存储或将判断第二数组得到的各个标识符用第四数组进行存储;
标记模块,用于对第一数组中的单字符或第二数据组中的字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;
处理模块,用于遍历第三数组中的各个标识符来对单字符进行替换处理或遍历第四数组中的各个标识符来对字符串之间的文本进行合并处理。
附图说明
图1为本发明实施例提供的排版方法实施例的方法流程图;
图2为本发明实施例提供的排版系统实施例的模块框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的排版方法实施例的方法流程图;
如图1所示,一种排版方法,包括如下步骤:
根据排版要求将待处理的文本拆分成单字符或字符串;
将拆分的单字符用第一数组进行存储或将拆分的字符串用第二数组进行存储;
对第一数组中的单字符或第二数据组中的字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;
将判断第一数组得到的各个标识符用第三数组进行存储或将判断第二数组得到的各个标识符用第四数组进行存储;
遍历第三数组中的各个标识符来对单字符进行替换处理或遍历第四数组中的各个标识符来对字符串之间的文本进行合并处理。
上述实施例中,能够根据排版要求将文档中的文本拆分成单字符或字符串的形式,再利用设置的正则表达式对单字符或字符串进行判定,用标识符进行标记,再根据标识符对文本内容进行重新排版,极大的减少不规范的情况,也减轻了录入员的工作压力和难度。
下面根据具体实施例说明去除文档中空格的正则表达式的设置方法。
排版要求1:去除空格,但保留以下的空格:
注:以下实施例中
用代表回车符,
用x代表任意字符。
1)保留英文与其他字符之间一个空格
实现上述去空格要求,在索引时判断单字符是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第一正则表达式,并预先设置标识符:标识符An和标识符0n;对第一数组中的单字符进行索引时,先判断当前索引的单字符是否为空字符,如果该单字符是空字符再判断该单字符的前一个索引的单字符与后一个索引的单字符是否符合设置的第一正则表达式,如果前一个索引的单字符与后一个索引的单字符均不符合第一正则表达式则用标识符0n标记该单字符,否则标记为An。
例如当单字符包含英文字母时,第一正则表达式可描述为:/^[A-Za-z]+$/,即将字母A-Z或a-z代入表达式即可判断单字符是否为英文字母。
上述实施例,进行替换处理的具体方法为:将标记有标识符0n的单字符用预设的占位符进行替换处理。
上述实施例,判断当前索引的单字符是否为空字符的具体方法为:判断单字符的长度是否为0,如果为0则为空字符。
上述实施例中,可根据需要设置一个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行替换处理,用占位符替换单字符来区别无需替换的单字符,将占位符去除能够实现非空字符与其他非空字符之间只保留一个空格的效果。
2)保留“去空格标志1”与“去空格标志2”之间的空格
去空格标志1:
去空格标志2:
⑷1.2.3.4.5.......无限.(“.”包括英、中文,半、圆角)
实现上述去空格要求,在索引时判断单字符是否符合设置的正则表达式的具体方法为:
预先设置第二正则表达式和第三正则表达式,并预先设置标识符:标识符A1、标识符B1和标识符01;
对第一数组中的单字符进行索引时用设置的第二正则表达式和第三正则表达式对索引的单字符进行判别,如果该单字符符合第二正则表达式则用标识符A1标记,如果该单字符符合第三正则表达式则用标识符B1标记,如果均不符合第二正则表达式和第三正则表达式则用标识符01标记。
具体实施时,把去空格标志1的内容作为第二正则表达式的描述,把去空格标志2的内容作为第三正则表达式的描述,分别用第二正则表达式和第三正则表达式去判断当前索引的字符是否符合该正则条件。
第二正则表达式可描述为:/(^[借][::])|(^[①-⑩]+[借][::])/,把“借:”和“①-⑩借”代入表达式即可判断字符是否符合第二正则表达式。
第三正则表达式可描述为:/(^[\((]?\d+[\..\))、]+)|(^.?[一二三四五六七八九十]+[\..\))、]+)|(^[①-⑩])|(^[[\[【].+[]\]】])/,
把去空格标志2的(1)(2)(3)(4)(5)带入正则表达式,即可判断字符是否符合第三正则表达式。
上述去空格的实施例中,进行替换处理的具体方法为:将标记有标识符01的单字符用预设的占位符进行替换处理。
在替换处理时,遍历单字符的数组,同时遍历存储有对应标识符的数组(第三数组),如果当前索引的单字符对应为标识符A1,该索引的单字符为起始索引,之后的遍历只有标识符不为“01”,即标识符为“A1”或者“B1”,就可把该索引定位结尾索引,如果标识符不为“01”的单字符则无需替换,即标识符“01”所对应的单字符都无需进行占位符替换处理。
可选地,作为本发明的一个实施例,进行替换处理后还包括将替换的占位符进行删除的步骤。
上述实施例中,可根据需要设置两个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行替换处理,用占位符替换单字符来区别无需替换的单字符,将占位符去除能够实现非空字符与其他非空字符之间空格的效果。
下面根据具体实施例说明去除文档中多余回车的正则表达式的设置方法。
排版要求2:
情况1)去回车标志1与去回车标志2之间的回车。
去回车标志1:
例:答案:或有事项的结果具有不确定......
去回车标志2:
⑴。
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中标志1的第四正则表达式:
/(^[\((]?\d+[\..,,\))、]+)|(^.?[一二三四五六七八九十]+[\..,\))、]+)|(^[①-⑩])|(^[借][::])|(^[贷][::])|(^[【].+[】])/
将去回车要求中标志1的(1)-(10)代入第四正则表达式,即可判断去回车标志1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中标志2的第五正则表达式:
/[?。\?\]])\)::]$/
把去回车标志2中的内容代入正则表达式,即可判断去回车标志2要求下的字符串是否符合第五正则表达式。
在执行情况2)的排版要求前,先执行情况1)的步骤。
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况2)条件1的第四正则表达式为:/[。]$/,将‘。’代入正则表达式,即可判断情况2)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况2)条件2的第四正则表达式为:/[。]$/,将‘。’代入正则表达式即可实现符合情况2)条件2的正则表达式。
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况3)条件2的第五正则表达式为:/[。]$/,将‘。’代入正则表达式即可实现符合情况3)条件2的第五正则表达式。
注:分号包括(中‘;’,英‘;’)
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况4)条件1的第四正则表达式为:/(^[\((]?\d+[\..,,\))、]+)|(^.?[一二三四五六七八九十]+[\..,\))、]+)|(^[①-⑩])|(^[借][::])|(^[贷][::])|(^[【].+[】])/,将“去回车标志1”代入第四正则表达式,即可判断情况4)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况4)条件2的第五正则表达式为:/[;;]$/,将‘;’代入第四正则表达式,即可判断情况4)条件1要求下的字符串是否符合第五正则表达式。
注:冒号包括(中‘:’英‘:’)
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况5)条件1的第四正则表达式为:/[。]$/,将‘。’代入第四正则表达式,即可判断情况5)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况5)条件2的第五正则表达式为:/[。]$/,将‘:’和‘:‘代入第五正则表达式,即可判断情况5)条件2要求下的字符串是否符合第五正则表达式。
注:分号包括(中‘;’英‘;’)
可选地,作为本发明的一个实施例,索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况6)条件1的第四正则表达式为:/[;;]$/,将‘;’和‘;’代入第四正则表达式,即可判断情况6)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况6)条件2的第五正则表达式为:/[;;]$/,将‘;’和’;’代入第五正则表达式,即可判断情况6)条件2要求下的字符串是否符合第五正则表达式。
以上去回车的实施例中,根据需要设置两个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行合并处理,可实现去除多余“回车”的效果。
可选地,作为本发明的一个实施例,对字符串之间的文本进行合并处理的具体方法为:根据第四数组中的各个标识符来确定字符串之间的文本合并范围。
具体的,上述去回车排版要求中文本合并范围的确定可根据下面两种方式:
方式一:遍历字符串的数组,同时遍历存储有对应标识符的数组(第四数组),如果当前索引的字符串对应为标识符A2,则递增索引,如果递增索引的字符串对应为标识符A2,此索引项作为需合并字符串的起始自字符串的索引项;如果递增索引的字符串对应为标识符B2,此索引项做为需合并字符串的结尾自字符串的索引项;遇到不符合任一正则表达式条件的标识符02,可不做处理继续下一个索引。其中,情况1)、情况3)和情况4)可采用方式一的合并方式进行合并。
方式二:遍历字符串的数组,同时遍历存储有对应标识符的数组第四数组),如果当前索引的字符串对应为标识符B2或标识符X,则递增索引,递增的索引项做为需合并字符串的起始自字符串的索引项;如果递增索引的字符串对应为标识符B2,此索引项做为需合并字符串的结尾自字符串的索引项;遇到不符合任一正则表达式条件的标识符02,可不做处理继续下一个索引。其中,情况2)、情况5)和情况6)可采用方式二的合并方式进行合并。
最后,使用起始索引和结尾索引去对应字符串之间的文本,得到文本合并范围,处于两个索引区间的文本使用循环的方式全部拼接合并,即删除合并范围内的文本,从而完成去回车的操作。
上述实施例中,可实现去除多余“回车”的效果。
图2为本发明实施例提供的排版系统实施例的模块框图。
可选地,作为本发明的另一个实施例,如图2所示,一种排版系统,包括:
拆分模块,用于根据排版要求将待处理的文本拆分成单字符或字符串;
存储模块,用于将所述拆分模块中拆分的单字符用第一数组进行存储或将拆分的字符串用第二数组进行存储;还用于将所述标记模块中判断第一数组得到的各个标识符用第三数组进行存储或将判断第二数组得到的各个标识符用第四数组进行存储;
标记模块,用于对第一数组中的单字符或第二数据组中的字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;
处理模块,用于遍历第三数组中的各个标识符来对单字符进行替换处理或遍历第四数组中的各个标识符来对字符串之间的文本进行合并处理。
本发明能够根据排版要求将文档中的文本拆分成单字符或字符串的形式,再利用设置的正则表达式对单字符或字符串进行判定,用标识符进行标记,再根据标识符对文本内容进行重新排版,极大的减少不规范的情况,也减轻了录入员的工作压力和难度。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种排版方法,其特征在于,包括如下步骤:
根据排版要求将待处理的文本拆分成单字符或字符串;
将拆分的单字符用第一数组进行存储或将拆分的字符串用第二数组进行存储;
对第一数组中的单字符或第二数据组中的字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;
将判断第一数组得到的各个标识符用第三数组进行存储或将判断第二数组得到的各个标识符用第四数组进行存储;
遍历第三数组中的各个标识符来对单字符进行替换处理或遍历第四数组中的各个标识符来对字符串之间的文本进行合并处理;
对字符串之间的文本进行合并处理的具体方法为:根据第四数组中的各个标识符来确定字符串之间的文本合并范围,并根据合并范围删除字符串之间的文本;
合并范围的确定根据下面两种方式:
方式一:遍历字符串的数组,同时遍历存储有对应标识符的数组,如果当前索引的字符串对应为标识符A2,则递增索引,如果递增索引的字符串对应为标识符A2,递增索引项作为需合并字符串的起始字符串的索引项;如果递增索引的字符串对应为标识符B2,递增索引项作为需合并字符串的结尾字符串的索引项;
方式二:遍历字符串的数组,同时遍历存储有对应标识符的数组,如果当前索引的字符串对应为标识符B2或标识符X,则递增索引,递增索引项作为需合并字符串的起始字符串的索引项;如果递增索引的字符串对应为标识符B2,递增索引项作为需合并字符串的结尾字符串的索引项;
最后,使用起始索引和结尾索引去对应字符串之间的文本,得到文本合并范围,处于两个索引区间的文本使用循环的方式全部拼接合并,删除合并范围内的文本,从而完成去回车的操作。
2.根据权利要求1所述的排版方法,其特征在于,所述索引时判断单字符是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第一正则表达式,并预先设置标识符:标识符An和标识符0n;
对第一数组中的单字符进行索引时,先判断当前索引的单字符是否为空字符,如果该单字符是空字符再判断该单字符的前一个索引的单字符与后一个索引的单字符是否符合设置的第一正则表达式,如果前一个索引的单字符与后一个索引的单字符均不符合第一正则表达式则用标识符0n标记该单字符,否则标记为An。
3.根据权利要求2所述的排版方法,其特征在于,进行替换处理的具体方法为:将标记有标识符0n的单字符用预设的占位符进行替换处理。
4.根据权利要求2所述的排版方法,其特征在于,判断当前索引的单字符是否为空字符的具体方法为:判断单字符的长度是否为0,如果为0则为空字符。
5.根据权利要求1所述的排版方法,其特征在于,所述索引时判断单字符是否符合设置的正则表达式的具体方法为:
预先设置第二正则表达式和第三正则表达式,并预先设置标识符:标识符A1、标识符B1和标识符01;
对第一数组中的单字符进行索引时用设置的第二正则表达式和第三正则表达式对索引的单字符进行判别,如果该单字符符合第二正则表达式则用标识符A1标记,如果该单字符符合第三正则表达式则用标识符B1标记,如果均不符合第二正则表达式和第三正则表达式则用标识符01标记。
6.根据权利要求5所述的排版方法,其特征在于,进行替换处理的具体方法为:将标记有标识符01的单字符用预设的占位符进行替换处理。
7.根据权利要求1或3或6所述的排版方法,其特征在于,进行替换处理后还包括将替换的占位符进行删除的步骤。
8.根据权利要求1所述的排版方法,其特征在于,索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
9.一种排版系统,其特征在于,包括:
拆分模块,用于根据排版要求将待处理的文本拆分成单字符或字符串;
存储模块,用于将所述拆分模块中拆分的单字符用第一数组进行存储或将拆分的字符串用第二数组进行存储;还用于将标记模块中判断第一数组得到的各个标识符用第三数组进行存储或将判断第二数组得到的各个标识符用第四数组进行存储;
标记模块,用于对第一数组中的单字符或第二数据组中的字符串进行索引,索引时判断单字符或字符串是否符合设置的正则表达式,并将判断结果分别用设置的标识符标记;
处理模块,用于遍历第三数组中的各个标识符来对单字符进行替换处理或遍历第四数组中的各个标识符来对字符串之间的文本进行合并处理;
具体为:根据第四数组中的各个标识符来确定字符串之间的文本合并范围,并根据合并范围删除字符串之间的文本;
合并范围的确定可根据下面两种方式:
方式一:遍历字符串的数组,同时遍历存储有对应标识符的数组,如果当前索引的字符串对应为标识符A2,则递增索引,如果递增索引的字符串对应为标识符A2,递增索引项作为需合并字符串的起始字符串的索引项;如果递增索引的字符串对应为标识符B2,递增索引项作为需合并字符串的结尾字符串的索引项;
方式二:遍历字符串的数组,同时遍历存储有对应标识符的数组,如果当前索引的字符串对应为标识符B2或标识符X,则递增索引,递增索引项作为需合并字符串的起始字符串的索引项;如果递增索引的字符串对应为标识符B2,递增索引项作为需合并字符串的结尾字符串的索引项;
最后,使用起始索引和结尾索引去对应字符串之间的文本,得到文本合并范围,处于两个索引区间的文本使用循环的方式全部拼接合并,删除合并范围内的文本,从而完成去回车的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013265.9A CN106874242B (zh) | 2017-01-09 | 2017-01-09 | 一种排版方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013265.9A CN106874242B (zh) | 2017-01-09 | 2017-01-09 | 一种排版方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874242A CN106874242A (zh) | 2017-06-20 |
CN106874242B true CN106874242B (zh) | 2020-02-14 |
Family
ID=59165131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710013265.9A Active CN106874242B (zh) | 2017-01-09 | 2017-01-09 | 一种排版方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874242B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897777B (zh) * | 2020-06-22 | 2024-06-21 | 百望股份有限公司 | 电子发票版式文件的处理方法、装置、设备及存储介质 |
CN112765506B (zh) * | 2021-01-22 | 2023-10-24 | 广州优谷信息技术有限公司 | 一种页面文本内容显示方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464906A (zh) * | 2009-01-08 | 2009-06-24 | 传神联合(北京)信息技术有限公司 | 一种网络搜词方法及系统 |
CN103488621A (zh) * | 2013-09-24 | 2014-01-01 | 长沙裕邦软件开发有限公司 | 一种针对法律法规的排版方法及系统 |
CN105426519A (zh) * | 2015-12-04 | 2016-03-23 | 河海大学 | 一种用于离线搜索的小规模索引数据存储方法 |
-
2017
- 2017-01-09 CN CN201710013265.9A patent/CN106874242B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464906A (zh) * | 2009-01-08 | 2009-06-24 | 传神联合(北京)信息技术有限公司 | 一种网络搜词方法及系统 |
CN103488621A (zh) * | 2013-09-24 | 2014-01-01 | 长沙裕邦软件开发有限公司 | 一种针对法律法规的排版方法及系统 |
CN105426519A (zh) * | 2015-12-04 | 2016-03-23 | 河海大学 | 一种用于离线搜索的小规模索引数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106874242A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101976253B (zh) | 一种中文变异文本匹配识别方法 | |
US7627177B2 (en) | Adaptive OCR for books | |
US6169999B1 (en) | Dictionary and index creating system and document retrieval system | |
US7705848B2 (en) | Method of identifying semantic units in an electronic document | |
US20030004991A1 (en) | Correlating handwritten annotations to a document | |
CN105808528B (zh) | 一种文档文字的处理方法 | |
CN110188649B (zh) | 基于tesseract-ocr的pdf文件解析方法 | |
CN103164388B (zh) | 一种版式文件中结构化信息获取的方法及装置 | |
JP2007073044A (ja) | Pdf変換器用テキスト修正 | |
CN105760368B (zh) | 一种文档文字的深度处理方法 | |
US7046847B2 (en) | Document processing method, system and medium | |
EP1907946A1 (en) | A method for finding text reading order in a document | |
CN112541095B (zh) | 视频标题生成方法、装置、电子设备及存储介质 | |
CN106874242B (zh) | 一种排版方法和系统 | |
CN111563372B (zh) | 一种基于教辅书籍出版的排版文档内容自查重方法 | |
CN103559512B (zh) | 一种文字识别输出方法及系统 | |
CN106227808A (zh) | 一种去除邮件干扰信息的方法以及垃圾邮件判定方法 | |
CN112651331A (zh) | 文本表格提取方法、系统、计算机设备及存储介质 | |
CN104331400B (zh) | 一种蒙古文编码转换方法和装置 | |
CN106156006A (zh) | 藏文字成分分析方法、藏文排序方法以及对应装置 | |
CN107301180A (zh) | 一种文档结构的分析方法和装置 | |
CN103488616B (zh) | 一种内嵌字体处理方法与装置 | |
JP2007011683A (ja) | 文書管理支援装置 | |
CN103678424A (zh) | 一种文档校对的方法和装置 | |
CN109739981B (zh) | 一种pdf文件类别判定方法及文字提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |