CN106874242B - 一种排版方法和系统 - Google Patents

一种排版方法和系统 Download PDF

Info

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
Application number
CN201710013265.9A
Other languages
English (en)
Other versions
CN106874242A (zh
Inventor
兰涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangxi Yingteng Education Technology Co Ltd
Original Assignee
Guangxi Yingteng Education Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangxi Yingteng Education Technology Co Ltd filed Critical Guangxi Yingteng Education Technology Co Ltd
Priority to CN201710013265.9A priority Critical patent/CN106874242B/zh
Publication of CN106874242A publication Critical patent/CN106874242A/zh
Application granted granted Critical
Publication of CN106874242B publication Critical patent/CN106874242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic justification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; 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:去除空格,但保留以下的空格:
注:以下实施例中
Figure BDA0001205634950000061
代表空格符,
代表回车符,
用x代表任意字符。
1)保留英文与其他字符之间一个空格
例:英
Figure BDA0001205634950000063
英替换成英
Figure BDA0001205634950000064
Figure BDA0001205634950000065
英替换成数
Figure BDA0001205634950000073
符替换成英
Figure BDA0001205634950000074
Figure BDA0001205634950000075
中替换成英
Figure BDA0001205634950000076
实现上述去空格要求,在索引时判断单字符是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第一正则表达式,并预先设置标识符:标识符An和标识符0n;对第一数组中的单字符进行索引时,先判断当前索引的单字符是否为空字符,如果该单字符是空字符再判断该单字符的前一个索引的单字符与后一个索引的单字符是否符合设置的第一正则表达式,如果前一个索引的单字符与后一个索引的单字符均不符合第一正则表达式则用标识符0n标记该单字符,否则标记为An
例如当单字符包含英文字母时,第一正则表达式可描述为:/^[A-Za-z]+$/,即将字母A-Z或a-z代入表达式即可判断单字符是否为英文字母。
上述实施例,进行替换处理的具体方法为:将标记有标识符0n的单字符用预设的占位符进行替换处理。
上述实施例,判断当前索引的单字符是否为空字符的具体方法为:判断单字符的长度是否为0,如果为0则为空字符。
上述实施例中,可根据需要设置一个正则表达式,用设定的标识符对符合或不符合正则条件的单字符进行标识,根据标识进行替换处理,用占位符替换单字符来区别无需替换的单字符,将占位符去除能够实现非空字符与其他非空字符之间只保留一个空格的效果。
2)保留“去空格标志1”与“去空格标志2”之间的空格
去空格标志1:
Figure BDA0001205634950000071
借:
Figure BDA0001205634950000072
①借
去空格标志2:
Figure BDA0001205634950000081
【xxx】
Figure BDA0001205634950000082
Figure BDA0001205634950000083
②③④⑤......⑩
Figure BDA0001205634950000084
(1)
Figure BDA0001205634950000085
(2)(30(4)(5)......(50)(“()”包括英、中文,半、圆角)
1.2.3.4.5.......无限.(“.”包括英、中文,半、圆角)
Figure BDA0001205634950000087
一、
Figure BDA0001205634950000088
二三四五、......二十、
实现上述去空格要求,在索引时判断单字符是否符合设置的正则表达式的具体方法为:
预先设置第二正则表达式和第三正则表达式,并预先设置标识符:标识符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之间的回车。
例:
Figure BDA0001205634950000091
1.
Figure BDA0001205634950000092
Figure BDA00012056349500000923
替换成
Figure BDA0001205634950000093
1.。
Figure BDA0001205634950000094
去回车标志1:
1.
Figure BDA0001205634950000096
2.3.4.5.......无限.(“.”包括英文,中文,半角,圆角)
Figure BDA0001205634950000097
1,
Figure BDA0001205634950000098
2,3,4,5,......无限,
Figure BDA0001205634950000099
1、
Figure BDA00012056349500000910
2、3、4、5、......无限、
Figure BDA00012056349500000911
1)2)3)4)5)......50)(“)”包括英文,中文,半角,圆角)
(1)
Figure BDA00012056349500000914
(2)(30(4)(5)......(50)(“()”包括英文,中文,半角,圆角)
Figure BDA00012056349500000915
Figure BDA00012056349500000916
②③④⑤......⑩
Figure BDA00012056349500000917
一、
Figure BDA00012056349500000918
二三四五、......二十、
Figure BDA00012056349500000919
[xxxx]如:[考点]
但是:
Figure BDA00012056349500000920
[xxx]的后面不能带有回车的,例:[xxxx]
Figure BDA00012056349500000922
Figure BDA0001205634950000101
【xxxx】如:【解析】
但是:
Figure BDA0001205634950000102
【xxxx】的后面不能带有回车的例:
Figure BDA0001205634950000103
【xxxx】
Figure BDA0001205634950000105
xx:....(“:”中文,英文)但:不包括借:
Figure BDA0001205634950000107
贷:
例:答案:或有事项的结果具有不确定......
但是:不判断
Figure BDA0001205634950000109
xx:中的“:”后面带有回车的例:
Figure BDA00012056349500001010
xx:
Figure BDA00012056349500001011
去回车标志2:
⑴。
⑵)
Figure BDA00012056349500001013
(“)”包括英文,中文,半角,圆角)
⑶?
Figure BDA00012056349500001014
(“?”包括中文,英文,半角,圆角)
⑷:
Figure BDA00012056349500001015
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中标志1的第四正则表达式:
/(^[\((]?\d+[\..,,\))、]+)|(^.?[一二三四五六七八九十]+[\..,\))、]+)|(^[①-⑩])|(^[借][::])|(^[贷][::])|(^[【].+[】])/
将去回车要求中标志1的(1)-(10)代入第四正则表达式,即可判断去回车标志1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中标志2的第五正则表达式:
/[?。\?\]])\)::]$/
把去回车标志2中的内容代入正则表达式,即可判断去回车标志2要求下的字符串是否符合第五正则表达式。
情况2)条件1:去除“。
Figure BDA0001205634950000111
”与“。
Figure BDA0001205634950000112
”之间的回车;
在执行情况2)的排版要求前,先执行情况1)的步骤。
例,。
Figure BDA0001205634950000113
替换成。
Figure BDA0001205634950000116
条件2:但“。
Figure BDA0001205634950000117
”与“。
Figure BDA0001205634950000118
”之间的回车不能包括“去回车标志1”的所有内容,否则保留不变,只去除“。
Figure BDA0001205634950000119
”与“。
Figure BDA00012056349500001110
”之间不存在“去回车标志1”内容的回车。
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况2)条件1的第四正则表达式为:/[。]$/,将‘。’代入正则表达式,即可判断情况2)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况2)条件2的第四正则表达式为:/[。]$/,将‘。’代入正则表达式即可实现符合情况2)条件2的正则表达式。
情况3)条件1:去除
Figure BDA0001205634950000121
xx与“去回车标志2”之间的回车,
条件2:与“去回车标志2”之间的去回车不能存在“去回车标志1”,否则寻找下一个
Figure BDA0001205634950000123
与“去回车标志2”,若找到则去除之间的回车。
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况3)条件1的第四正则表达式为:
Figure BDA0001205634950000124
将‘。’代入第四正则表达式,即可判断情况3)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况3)条件2的第五正则表达式为:/[。]$/,将‘。’代入正则表达式即可实现符合情况3)条件2的第五正则表达式。
情况4)条件1:去除“去回车标志1”与“;
Figure BDA0001205634950000125
”之间的回车
注:分号包括(中‘;’,英‘;’)
例:
Figure BDA0001205634950000126
1.
Figure BDA0001205634950000127
Figure BDA0001205634950000128
替换成
Figure BDA0001205634950000129
1.;
Figure BDA00012056349500001210
Figure BDA00012056349500001211
1.
Figure BDA00012056349500001213
替换成1.;
Figure BDA00012056349500001215
条件2:“去回车标志1”与“;
Figure BDA00012056349500001216
”之间不能存在其他“去回车标志1”的内容。
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况4)条件1的第四正则表达式为:/(^[\((]?\d+[\..,,\))、]+)|(^.?[一二三四五六七八九十]+[\..,\))、]+)|(^[①-⑩])|(^[借][::])|(^[贷][::])|(^[【].+[】])/,将“去回车标志1”代入第四正则表达式,即可判断情况4)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况4)条件2的第五正则表达式为:/[;;]$/,将‘;’代入第四正则表达式,即可判断情况4)条件1要求下的字符串是否符合第五正则表达式。
情况5)条件1:去除“。
Figure BDA0001205634950000131
”与“:
Figure BDA0001205634950000132
”之间的回车
条件2:“。
Figure BDA0001205634950000133
”与“:
Figure BDA0001205634950000134
”之间的回车不能存在“标志1”
注:冒号包括(中‘:’英‘:’)
例:。
Figure BDA0001205634950000135
Figure BDA0001205634950000136
替换成。
Figure BDA0001205634950000137
Figure BDA0001205634950000138
为满足上述去回车要求,在索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符A2、标识符B2、标识符02和标识符X;
对第二数组中的字符串进行索引时用设置的第四正则表达式和第五正则表达式对索引的字符串进行判别,如果该字符串符合第四正则表达式则用标识符A2标记,如果该字符串符合第五正则表达式则用标识符B2标记,如果该字符串同时符合第四正则表达式和第五正则表达式则用标识符X标记,如果该字符串均不符合第四正则表达式和第五正则表达式则用标识符02标记。
设置上述去回车要求中符合情况5)条件1的第四正则表达式为:/[。]$/,将‘。’代入第四正则表达式,即可判断情况5)条件1要求下的字符串是否符合第四正则表达式。
设置上述去回车要求中符合情况5)条件2的第五正则表达式为:/[。]$/,将‘:’和‘:‘代入第五正则表达式,即可判断情况5)条件2要求下的字符串是否符合第五正则表达式。
情况6)条件1:去除“;
Figure BDA0001205634950000141
”与“;”之间的回车
条件2:“;”与“;
Figure BDA0001205634950000144
”之间的回车不能存在“去回车标志1”
注:分号包括(中‘;’英‘;’)
例:;
Figure BDA0001205634950000146
替换成;
Figure BDA0001205634950000147
Figure BDA0001205634950000148
可选地,作为本发明的一个实施例,索引时判断字符串是否符合设置的正则表达式,将判断结果分别用设置的标识符标记的具体方法为:
预先设置第四正则表达式和第五正则表达式,并预先设置标识符:标识符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,递增索引项作为需合并字符串的结尾字符串的索引项;
最后,使用起始索引和结尾索引去对应字符串之间的文本,得到文本合并范围,处于两个索引区间的文本使用循环的方式全部拼接合并,删除合并范围内的文本,从而完成去回车的操作。
CN201710013265.9A 2017-01-09 2017-01-09 一种排版方法和系统 Active CN106874242B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 河海大学 一种用于离线搜索的小规模索引数据存储方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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