本發(fā)明主要涉及數(shù)字排版技術(shù)領(lǐng)域,具體涉及一種排版方法和系統(tǒng)。
背景技術(shù):
掃描文檔內(nèi)容進(jìn)行二次排版時(shí),掃描到的原始內(nèi)容格式存在著不規(guī)范的情況,不符合數(shù)字化排版的要求,例如:1、行后空格;2、題干、選項(xiàng)的行前空格;3、多余回車(chē)符。
目前,在紙質(zhì)文檔轉(zhuǎn)化成數(shù)字文檔時(shí),錄入者掃描紙質(zhì)文檔成數(shù)字化文檔后,由于存在上述不規(guī)范情況,一般的處理方式是人工逐一進(jìn)行規(guī)范排版處理,因此需要耗費(fèi)大量時(shí)間精力去完成這件事,效率低且容易出錯(cuò),而現(xiàn)有的一些自動(dòng)排版方法處理的“不規(guī)范”情況比較單一且效果不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種排版方法和系統(tǒng),能夠根據(jù)排版要求及設(shè)置的正則表達(dá)式對(duì)文檔中不規(guī)范的情況進(jìn)行排版,大大減輕錄入員的工作壓力和難度。
本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種排版方法,包括如下步驟:
根據(jù)排版要求將待處理的文本拆分成單字符或字符串;
將拆分的單字符用第一數(shù)組進(jìn)行存儲(chǔ)或?qū)⒉鸱值淖址玫诙?shù)組進(jìn)行存儲(chǔ);
對(duì)第一數(shù)組中的單字符或第二數(shù)據(jù)組中的字符串進(jìn)行索引,索引時(shí)判斷單字符或字符串是否符合設(shè)置的正則表達(dá)式,并將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記;
將判斷第一數(shù)組得到的各個(gè)標(biāo)識(shí)符用第三數(shù)組進(jìn)行存儲(chǔ)或?qū)⑴袛嗟诙?shù)組得到的各個(gè)標(biāo)識(shí)符用第四數(shù)組進(jìn)行存儲(chǔ);
遍歷第三數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)單字符進(jìn)行替換處理或遍歷第四數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)字符串之間的文本進(jìn)行合并處理。
本發(fā)明的有益效果是:能夠根據(jù)排版要求將文檔中的文本拆分成單字符或字符串的形式,再利用設(shè)置的正則表達(dá)式對(duì)單字符或字符串進(jìn)行判定,用標(biāo)識(shí)符進(jìn)行標(biāo)記,再根據(jù)標(biāo)識(shí)符對(duì)文本內(nèi)容進(jìn)行重新排版,極大的減少不規(guī)范的情況,也減輕了錄入員的工作壓力和難度。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
進(jìn)一步,所述索引時(shí)判斷單字符是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第一正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符An和標(biāo)識(shí)符0n;
對(duì)第一數(shù)組中的單字符進(jìn)行索引時(shí),先判斷當(dāng)前索引的單字符是否為空字符,如果該單字符是空字符再判斷該單字符的前一個(gè)索引的單字符與后一個(gè)索引的單字符是否符合設(shè)置的第一正則表達(dá)式,如果前一個(gè)索引的單字符與后一個(gè)索引的單字符均不符合第一正則表達(dá)式則用標(biāo)識(shí)符0n標(biāo)記該單字符,否則標(biāo)記為An。
進(jìn)一步,進(jìn)行替換處理的具體方法為:將標(biāo)記有標(biāo)識(shí)符0n的單字符用預(yù)設(shè)的占位符進(jìn)行替換處理。
進(jìn)一步,判斷當(dāng)前索引的單字符是否為空字符的具體方法為:判斷單字符的長(zhǎng)度是否為0,如果為0則為空字符。
采用上述進(jìn)一步方案的有益效果是:可根據(jù)需要設(shè)置一個(gè)正則表達(dá)式,用設(shè)定的標(biāo)識(shí)符對(duì)符合或不符合正則條件的單字符進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)識(shí)進(jìn)行替換處理,用占位符替換單字符來(lái)區(qū)別無(wú)需替換的單字符,將占位符去除能夠?qū)崿F(xiàn)非空字符與其他非空字符之間只保留一個(gè)空格的效果。
進(jìn)一步,所述索引時(shí)判斷單字符是否符合設(shè)置的正則表達(dá)式的具體方法為:
預(yù)先設(shè)置第二正則表達(dá)式和第三正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A1、標(biāo)識(shí)符B1和標(biāo)識(shí)符01;
對(duì)第一數(shù)組中的單字符進(jìn)行索引時(shí)用設(shè)置的第二正則表達(dá)式和第三正則表達(dá)式對(duì)索引的單字符進(jìn)行判別,如果該單字符符合第二正則表達(dá)式則用標(biāo)識(shí)符A1標(biāo)記,如果該單字符符合第三正則表達(dá)式則用標(biāo)識(shí)符B1標(biāo)記,如果均不符合第二正則表達(dá)式和第三正則表達(dá)式則用標(biāo)識(shí)符01標(biāo)記。
進(jìn)一步,進(jìn)行替換處理的具體方法為:將標(biāo)記有標(biāo)識(shí)符01的單字符用預(yù)設(shè)的占位符進(jìn)行替換處理。
替換處理時(shí),遍歷單字符的數(shù)組,同時(shí)遍歷存儲(chǔ)有對(duì)應(yīng)標(biāo)識(shí)符的數(shù)組(第三數(shù)組),如果當(dāng)前索引的單字符對(duì)應(yīng)為標(biāo)識(shí)符A1,該索引的單字符為起始索引,之后的遍歷只有標(biāo)識(shí)符不為“01”,即標(biāo)識(shí)符為“A1”或者“B1”,就可把該索引定位結(jié)尾索引,如果標(biāo)識(shí)符不為“01”的單字符無(wú)需替換,即標(biāo)識(shí)符“01”所對(duì)應(yīng)的單字符都無(wú)需進(jìn)行占位符替換處理。
采用上述進(jìn)一步方案的有益效果是:可根據(jù)需要設(shè)置兩個(gè)正則表達(dá)式,用設(shè)定的標(biāo)識(shí)符對(duì)符合或不符合正則條件的單字符進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)識(shí)進(jìn)行替換處理,用占位符替換單字符來(lái)區(qū)別無(wú)需替換的單字符,將占位符去除能夠?qū)崿F(xiàn)非空字符與其他非空字符之間空格的效果。
進(jìn)一步,進(jìn)行替換處理后還包括將替換的占位符進(jìn)行刪除的步驟。
采用上述進(jìn)一步方案的有益效果是:實(shí)現(xiàn)非空字符與其他非空字符之間空格的效果。
進(jìn)一步,索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
采用上述進(jìn)一步方案的有益效果是:可根據(jù)需要設(shè)置兩個(gè)正則表達(dá)式,用設(shè)定的標(biāo)識(shí)符對(duì)符合或不符合正則條件的單字符進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)識(shí)進(jìn)行合并處理,可實(shí)現(xiàn)去除多余“回車(chē)”的效果。
進(jìn)一步,對(duì)字符串之間的文本進(jìn)行合并處理的具體方法為:根據(jù)第四數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)確定字符串之間的文本合并范圍,并根據(jù)合并范圍刪除字符串之間的文本。
合并范圍的確定可根據(jù)下面兩種方式:
方式一:遍歷字符串的數(shù)組,同時(shí)遍歷存儲(chǔ)有對(duì)應(yīng)標(biāo)識(shí)符的數(shù)組(第四數(shù)組),如果當(dāng)前索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符A2,則遞增索引,如果遞增索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符A2,此索引項(xiàng)作為需合并字符串的起始自字符串的索引項(xiàng);如果遞增索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符B2,此索引項(xiàng)做為需合并字符串的結(jié)尾自字符串的索引項(xiàng);遇到不符合任一正則表達(dá)式條件的標(biāo)識(shí)符02,可不做處理繼續(xù)下一個(gè)索引。
方式二:遍歷字符串的數(shù)組,同時(shí)遍歷存儲(chǔ)有對(duì)應(yīng)標(biāo)識(shí)符的數(shù)組第四數(shù)組),如果當(dāng)前索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符B2或標(biāo)識(shí)符X,則遞增索引,遞增的索引項(xiàng)做為需合并字符串的起始自字符串的索引項(xiàng);如果遞增索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符B2,此索引項(xiàng)做為需合并字符串的結(jié)尾自字符串的索引項(xiàng);遇到不符合任一正則表達(dá)式條件的標(biāo)識(shí)符02,可不做處理繼續(xù)下一個(gè)索引。
最后,使用起始索引和結(jié)尾索引去對(duì)應(yīng)字符串之間的文本,得到文本合并范圍,處于兩個(gè)索引區(qū)間的文本使用循環(huán)的方式全部拼接合并,即刪除合并范圍內(nèi)的文本,從而完成去回車(chē)的操作。
采用上述進(jìn)一步方案的有益效果是:可實(shí)現(xiàn)去除多余“回車(chē)”的效果。
本發(fā)明解決上述技術(shù)問(wèn)題的另一技術(shù)方案如下:一種排版系統(tǒng),包括:
拆分模塊,用于根據(jù)排版要求將待處理的文本拆分成單字符或字符串;
存儲(chǔ)模塊,用于將所述拆分模塊中拆分的單字符用第一數(shù)組進(jìn)行存儲(chǔ)或?qū)⒉鸱值淖址玫诙?shù)組進(jìn)行存儲(chǔ);還用于將所述標(biāo)記模塊中判斷第一數(shù)組得到的各個(gè)標(biāo)識(shí)符用第三數(shù)組進(jìn)行存儲(chǔ)或?qū)⑴袛嗟诙?shù)組得到的各個(gè)標(biāo)識(shí)符用第四數(shù)組進(jìn)行存儲(chǔ);
標(biāo)記模塊,用于對(duì)第一數(shù)組中的單字符或第二數(shù)據(jù)組中的字符串進(jìn)行索引,索引時(shí)判斷單字符或字符串是否符合設(shè)置的正則表達(dá)式,并將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記;
處理模塊,用于遍歷第三數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)單字符進(jìn)行替換處理或遍歷第四數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)字符串之間的文本進(jìn)行合并處理。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的排版方法實(shí)施例的方法流程圖;
圖2為本發(fā)明實(shí)施例提供的排版系統(tǒng)實(shí)施例的模塊框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
圖1為本發(fā)明實(shí)施例提供的排版方法實(shí)施例的方法流程圖;
如圖1所示,一種排版方法,包括如下步驟:
根據(jù)排版要求將待處理的文本拆分成單字符或字符串;
將拆分的單字符用第一數(shù)組進(jìn)行存儲(chǔ)或?qū)⒉鸱值淖址玫诙?shù)組進(jìn)行存儲(chǔ);
對(duì)第一數(shù)組中的單字符或第二數(shù)據(jù)組中的字符串進(jìn)行索引,索引時(shí)判斷單字符或字符串是否符合設(shè)置的正則表達(dá)式,并將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記;
將判斷第一數(shù)組得到的各個(gè)標(biāo)識(shí)符用第三數(shù)組進(jìn)行存儲(chǔ)或?qū)⑴袛嗟诙?shù)組得到的各個(gè)標(biāo)識(shí)符用第四數(shù)組進(jìn)行存儲(chǔ);
遍歷第三數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)單字符進(jìn)行替換處理或遍歷第四數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)字符串之間的文本進(jìn)行合并處理。
上述實(shí)施例中,能夠根據(jù)排版要求將文檔中的文本拆分成單字符或字符串的形式,再利用設(shè)置的正則表達(dá)式對(duì)單字符或字符串進(jìn)行判定,用標(biāo)識(shí)符進(jìn)行標(biāo)記,再根據(jù)標(biāo)識(shí)符對(duì)文本內(nèi)容進(jìn)行重新排版,極大的減少不規(guī)范的情況,也減輕了錄入員的工作壓力和難度。
下面根據(jù)具體實(shí)施例說(shuō)明去除文檔中空格的正則表達(dá)式的設(shè)置方法。
排版要求1:去除空格,但保留以下的空格:
注:以下實(shí)施例中
用代表空格符,
用代表回車(chē)符,
用x代表任意字符。
1)保留英文與其他字符之間一個(gè)空格
例:英英替換成英英
數(shù)英替換成數(shù)英
英符替換成英符
英中替換成英中
實(shí)現(xiàn)上述去空格要求,在索引時(shí)判斷單字符是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第一正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符An和標(biāo)識(shí)符0n;對(duì)第一數(shù)組中的單字符進(jìn)行索引時(shí),先判斷當(dāng)前索引的單字符是否為空字符,如果該單字符是空字符再判斷該單字符的前一個(gè)索引的單字符與后一個(gè)索引的單字符是否符合設(shè)置的第一正則表達(dá)式,如果前一個(gè)索引的單字符與后一個(gè)索引的單字符均不符合第一正則表達(dá)式則用標(biāo)識(shí)符0n標(biāo)記該單字符,否則標(biāo)記為An。
例如當(dāng)單字符包含英文字母時(shí),第一正則表達(dá)式可描述為:/^[A-Za-z]+$/,即將字母A-Z或a-z代入表達(dá)式即可判斷單字符是否為英文字母。
上述實(shí)施例,進(jìn)行替換處理的具體方法為:將標(biāo)記有標(biāo)識(shí)符0n的單字符用預(yù)設(shè)的占位符進(jìn)行替換處理。
上述實(shí)施例,判斷當(dāng)前索引的單字符是否為空字符的具體方法為:判斷單字符的長(zhǎng)度是否為0,如果為0則為空字符。
上述實(shí)施例中,可根據(jù)需要設(shè)置一個(gè)正則表達(dá)式,用設(shè)定的標(biāo)識(shí)符對(duì)符合或不符合正則條件的單字符進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)識(shí)進(jìn)行替換處理,用占位符替換單字符來(lái)區(qū)別無(wú)需替換的單字符,將占位符去除能夠?qū)崿F(xiàn)非空字符與其他非空字符之間只保留一個(gè)空格的效果。
2)保留“去空格標(biāo)志1”與“去空格標(biāo)志2”之間的空格
去空格標(biāo)志1:
⑴借:
⑵①借
去空格標(biāo)志2:
⑴【xxx】
⑵①②③④⑤......⑩
⑶(1)(2)(30(4)(5)......(50)(“()”包括英、中文,半、圓角)
⑷1.2.3.4.5.......無(wú)限.(“.”包括英、中文,半、圓角)
⑸一、二三四五、......二十、
實(shí)現(xiàn)上述去空格要求,在索引時(shí)判斷單字符是否符合設(shè)置的正則表達(dá)式的具體方法為:
預(yù)先設(shè)置第二正則表達(dá)式和第三正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A1、標(biāo)識(shí)符B1和標(biāo)識(shí)符01;
對(duì)第一數(shù)組中的單字符進(jìn)行索引時(shí)用設(shè)置的第二正則表達(dá)式和第三正則表達(dá)式對(duì)索引的單字符進(jìn)行判別,如果該單字符符合第二正則表達(dá)式則用標(biāo)識(shí)符A1標(biāo)記,如果該單字符符合第三正則表達(dá)式則用標(biāo)識(shí)符B1標(biāo)記,如果均不符合第二正則表達(dá)式和第三正則表達(dá)式則用標(biāo)識(shí)符01標(biāo)記。
具體實(shí)施時(shí),把去空格標(biāo)志1的內(nèi)容作為第二正則表達(dá)式的描述,把去空格標(biāo)志2的內(nèi)容作為第三正則表達(dá)式的描述,分別用第二正則表達(dá)式和第三正則表達(dá)式去判斷當(dāng)前索引的字符是否符合該正則條件。
第二正則表達(dá)式可描述為:/(^[借][::])|(^[①-⑩]+[借][::])/,把“借:”和“①-⑩借”代入表達(dá)式即可判斷字符是否符合第二正則表達(dá)式。
第三正則表達(dá)式可描述為:/(^[\((]?\d+[\..\))、]+)|(^.?[一二三四五六七八九十]+[\..\))、]+)|(^[①-⑩])|(^[[\[【].+[]\]】])/,
把去空格標(biāo)志2的(1)(2)(3)(4)(5)帶入正則表達(dá)式,即可判斷字符是否符合第三正則表達(dá)式。
上述去空格的實(shí)施例中,進(jìn)行替換處理的具體方法為:將標(biāo)記有標(biāo)識(shí)符01的單字符用預(yù)設(shè)的占位符進(jìn)行替換處理。
在替換處理時(shí),遍歷單字符的數(shù)組,同時(shí)遍歷存儲(chǔ)有對(duì)應(yīng)標(biāo)識(shí)符的數(shù)組(第三數(shù)組),如果當(dāng)前索引的單字符對(duì)應(yīng)為標(biāo)識(shí)符A1,該索引的單字符為起始索引,之后的遍歷只有標(biāo)識(shí)符不為“01”,即標(biāo)識(shí)符為“A1”或者“B1”,就可把該索引定位結(jié)尾索引,如果標(biāo)識(shí)符不為“01”的單字符則無(wú)需替換,即標(biāo)識(shí)符“01”所對(duì)應(yīng)的單字符都無(wú)需進(jìn)行占位符替換處理。
可選地,作為本發(fā)明的一個(gè)實(shí)施例,進(jìn)行替換處理后還包括將替換的占位符進(jìn)行刪除的步驟。
上述實(shí)施例中,可根據(jù)需要設(shè)置兩個(gè)正則表達(dá)式,用設(shè)定的標(biāo)識(shí)符對(duì)符合或不符合正則條件的單字符進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)識(shí)進(jìn)行替換處理,用占位符替換單字符來(lái)區(qū)別無(wú)需替換的單字符,將占位符去除能夠?qū)崿F(xiàn)非空字符與其他非空字符之間空格的效果。
下面根據(jù)具體實(shí)施例說(shuō)明去除文檔中多余回車(chē)的正則表達(dá)式的設(shè)置方法。
排版要求2:
情況1)去回車(chē)標(biāo)志1與去回車(chē)標(biāo)志2之間的回車(chē)。
例:1.。替換成1.。
去回車(chē)標(biāo)志1:
⑴1.2.3.4.5.......無(wú)限.(“.”包括英文,中文,半角,圓角)
⑵1,2,3,4,5,......無(wú)限,
⑶1、2、3、4、5、......無(wú)限、
⑷1)2)3)4)5)......50)(“)”包括英文,中文,半角,圓角)
⑸(1)(2)(30(4)(5)......(50)(“()”包括英文,中文,半角,圓角)
⑹①②③④⑤......⑩
⑺一、二三四五、......二十、
⑻[xxxx]如:[考點(diǎn)]
但是:[xxx]的后面不能帶有回車(chē)的,例:[xxxx]
⑼【xxxx】如:【解析】
但是:【xxxx】的后面不能帶有回車(chē)的例:【xxxx】
⑽xx:....(“:”中文,英文)但:不包括借:貸:
例:答案:或有事項(xiàng)的結(jié)果具有不確定......
但是:不判斷xx:中的“:”后面帶有回車(chē)的例:xx:。
去回車(chē)標(biāo)志2:
⑴。
⑵)(“)”包括英文,中文,半角,圓角)
⑶?(“?”包括中文,英文,半角,圓角)
⑷:
為滿(mǎn)足上述去回車(chē)要求,在索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
設(shè)置上述去回車(chē)要求中標(biāo)志1的第四正則表達(dá)式:
/(^[\((]?\d+[\..,,\))、]+)|(^.?[一二三四五六七八九十]+[\..,\))、]+)|(^[①-⑩])|(^[借][::])|(^[貸][::])|(^[【].+[】])/
將去回車(chē)要求中標(biāo)志1的(1)-(10)代入第四正則表達(dá)式,即可判斷去回車(chē)標(biāo)志1要求下的字符串是否符合第四正則表達(dá)式。
設(shè)置上述去回車(chē)要求中標(biāo)志2的第五正則表達(dá)式:
/[?。\?\]])\)::]$/
把去回車(chē)標(biāo)志2中的內(nèi)容代入正則表達(dá)式,即可判斷去回車(chē)標(biāo)志2要求下的字符串是否符合第五正則表達(dá)式。
情況2)條件1:去除“?!迸c“?!敝g的回車(chē);
在執(zhí)行情況2)的排版要求前,先執(zhí)行情況1)的步驟。
例,。。替換成。。
條件2:但“?!迸c“?!敝g的回車(chē)不能包括“去回車(chē)標(biāo)志1”的所有內(nèi)容,否則保留不變,只去除“?!迸c“?!敝g不存在“去回車(chē)標(biāo)志1”內(nèi)容的回車(chē)。
為滿(mǎn)足上述去回車(chē)要求,在索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
設(shè)置上述去回車(chē)要求中符合情況2)條件1的第四正則表達(dá)式為:/[。]$/,將‘?!胝齽t表達(dá)式,即可判斷情況2)條件1要求下的字符串是否符合第四正則表達(dá)式。
設(shè)置上述去回車(chē)要求中符合情況2)條件2的第四正則表達(dá)式為:/[。]$/,將‘?!胝齽t表達(dá)式即可實(shí)現(xiàn)符合情況2)條件2的正則表達(dá)式。
情況3)條件1:去除xx與“去回車(chē)標(biāo)志2”之間的回車(chē),
條件2:與“去回車(chē)標(biāo)志2”之間的去回車(chē)不能存在“去回車(chē)標(biāo)志1”,否則尋找下一個(gè)與“去回車(chē)標(biāo)志2”,若找到則去除之間的回車(chē)。
為滿(mǎn)足上述去回車(chē)要求,在索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
設(shè)置上述去回車(chē)要求中符合情況3)條件1的第四正則表達(dá)式為:將‘?!氲谒恼齽t表達(dá)式,即可判斷情況3)條件1要求下的字符串是否符合第四正則表達(dá)式。
設(shè)置上述去回車(chē)要求中符合情況3)條件2的第五正則表達(dá)式為:/[。]$/,將‘?!胝齽t表達(dá)式即可實(shí)現(xiàn)符合情況3)條件2的第五正則表達(dá)式。
情況4)條件1:去除“去回車(chē)標(biāo)志1”與“;”之間的回車(chē)
注:分號(hào)包括(中‘;’,英‘;’)
例:1.替換成1.;
1.替換成1.;
條件2:“去回車(chē)標(biāo)志1”與“;”之間不能存在其他“去回車(chē)標(biāo)志1”的內(nèi)容。
為滿(mǎn)足上述去回車(chē)要求,在索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
設(shè)置上述去回車(chē)要求中符合情況4)條件1的第四正則表達(dá)式為:/(^[\((]?\d+[\..,,\))、]+)|(^.?[一二三四五六七八九十]+[\..,\))、]+)|(^[①-⑩])|(^[借][::])|(^[貸][::])|(^[【].+[】])/,將“去回車(chē)標(biāo)志1”代入第四正則表達(dá)式,即可判斷情況4)條件1要求下的字符串是否符合第四正則表達(dá)式。
設(shè)置上述去回車(chē)要求中符合情況4)條件2的第五正則表達(dá)式為:/[;;]$/,將‘;’代入第四正則表達(dá)式,即可判斷情況4)條件1要求下的字符串是否符合第五正則表達(dá)式。
情況5)條件1:去除“。”與“:”之間的回車(chē)
條件2:“。”與“:”之間的回車(chē)不能存在“標(biāo)志1”
注:冒號(hào)包括(中‘:’英‘:’)
例:。:替換成。:
為滿(mǎn)足上述去回車(chē)要求,在索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
設(shè)置上述去回車(chē)要求中符合情況5)條件1的第四正則表達(dá)式為:/[。]$/,將‘?!氲谒恼齽t表達(dá)式,即可判斷情況5)條件1要求下的字符串是否符合第四正則表達(dá)式。
設(shè)置上述去回車(chē)要求中符合情況5)條件2的第五正則表達(dá)式為:/[。]$/,將‘:’和‘:‘代入第五正則表達(dá)式,即可判斷情況5)條件2要求下的字符串是否符合第五正則表達(dá)式。
情況6)條件1:去除“;”與“;”之間的回車(chē)
條件2:“;”與“;”之間的回車(chē)不能存在“去回車(chē)標(biāo)志1”
注:分號(hào)包括(中‘;’英‘;’)
例:;;替換成;;
可選地,作為本發(fā)明的一個(gè)實(shí)施例,索引時(shí)判斷字符串是否符合設(shè)置的正則表達(dá)式,將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記的具體方法為:
預(yù)先設(shè)置第四正則表達(dá)式和第五正則表達(dá)式,并預(yù)先設(shè)置標(biāo)識(shí)符:標(biāo)識(shí)符A2、標(biāo)識(shí)符B2、標(biāo)識(shí)符02和標(biāo)識(shí)符X;
對(duì)第二數(shù)組中的字符串進(jìn)行索引時(shí)用設(shè)置的第四正則表達(dá)式和第五正則表達(dá)式對(duì)索引的字符串進(jìn)行判別,如果該字符串符合第四正則表達(dá)式則用標(biāo)識(shí)符A2標(biāo)記,如果該字符串符合第五正則表達(dá)式則用標(biāo)識(shí)符B2標(biāo)記,如果該字符串同時(shí)符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符X標(biāo)記,如果該字符串均不符合第四正則表達(dá)式和第五正則表達(dá)式則用標(biāo)識(shí)符02標(biāo)記。
設(shè)置上述去回車(chē)要求中符合情況6)條件1的第四正則表達(dá)式為:/[;;]$/,將‘;’和‘;’代入第四正則表達(dá)式,即可判斷情況6)條件1要求下的字符串是否符合第四正則表達(dá)式。
設(shè)置上述去回車(chē)要求中符合情況6)條件2的第五正則表達(dá)式為:/[;;]$/,將‘;’和’;’代入第五正則表達(dá)式,即可判斷情況6)條件2要求下的字符串是否符合第五正則表達(dá)式。
以上去回車(chē)的實(shí)施例中,根據(jù)需要設(shè)置兩個(gè)正則表達(dá)式,用設(shè)定的標(biāo)識(shí)符對(duì)符合或不符合正則條件的單字符進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)識(shí)進(jìn)行合并處理,可實(shí)現(xiàn)去除多余“回車(chē)”的效果。
可選地,作為本發(fā)明的一個(gè)實(shí)施例,對(duì)字符串之間的文本進(jìn)行合并處理的具體方法為:根據(jù)第四數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)確定字符串之間的文本合并范圍。
具體的,上述去回車(chē)排版要求中文本合并范圍的確定可根據(jù)下面兩種方式:
方式一:遍歷字符串的數(shù)組,同時(shí)遍歷存儲(chǔ)有對(duì)應(yīng)標(biāo)識(shí)符的數(shù)組(第四數(shù)組),如果當(dāng)前索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符A2,則遞增索引,如果遞增索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符A2,此索引項(xiàng)作為需合并字符串的起始自字符串的索引項(xiàng);如果遞增索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符B2,此索引項(xiàng)做為需合并字符串的結(jié)尾自字符串的索引項(xiàng);遇到不符合任一正則表達(dá)式條件的標(biāo)識(shí)符02,可不做處理繼續(xù)下一個(gè)索引。其中,情況1)、情況3)和情況4)可采用方式一的合并方式進(jìn)行合并。
方式二:遍歷字符串的數(shù)組,同時(shí)遍歷存儲(chǔ)有對(duì)應(yīng)標(biāo)識(shí)符的數(shù)組第四數(shù)組),如果當(dāng)前索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符B2或標(biāo)識(shí)符X,則遞增索引,遞增的索引項(xiàng)做為需合并字符串的起始自字符串的索引項(xiàng);如果遞增索引的字符串對(duì)應(yīng)為標(biāo)識(shí)符B2,此索引項(xiàng)做為需合并字符串的結(jié)尾自字符串的索引項(xiàng);遇到不符合任一正則表達(dá)式條件的標(biāo)識(shí)符02,可不做處理繼續(xù)下一個(gè)索引。其中,情況2)、情況5)和情況6)可采用方式二的合并方式進(jìn)行合并。
最后,使用起始索引和結(jié)尾索引去對(duì)應(yīng)字符串之間的文本,得到文本合并范圍,處于兩個(gè)索引區(qū)間的文本使用循環(huán)的方式全部拼接合并,即刪除合并范圍內(nèi)的文本,從而完成去回車(chē)的操作。
上述實(shí)施例中,可實(shí)現(xiàn)去除多余“回車(chē)”的效果。
圖2為本發(fā)明實(shí)施例提供的排版系統(tǒng)實(shí)施例的模塊框圖。
可選地,作為本發(fā)明的另一個(gè)實(shí)施例,如圖2所示,一種排版系統(tǒng),包括:
拆分模塊,用于根據(jù)排版要求將待處理的文本拆分成單字符或字符串;
存儲(chǔ)模塊,用于將所述拆分模塊中拆分的單字符用第一數(shù)組進(jìn)行存儲(chǔ)或?qū)⒉鸱值淖址玫诙?shù)組進(jìn)行存儲(chǔ);還用于將所述標(biāo)記模塊中判斷第一數(shù)組得到的各個(gè)標(biāo)識(shí)符用第三數(shù)組進(jìn)行存儲(chǔ)或?qū)⑴袛嗟诙?shù)組得到的各個(gè)標(biāo)識(shí)符用第四數(shù)組進(jìn)行存儲(chǔ);
標(biāo)記模塊,用于對(duì)第一數(shù)組中的單字符或第二數(shù)據(jù)組中的字符串進(jìn)行索引,索引時(shí)判斷單字符或字符串是否符合設(shè)置的正則表達(dá)式,并將判斷結(jié)果分別用設(shè)置的標(biāo)識(shí)符標(biāo)記;
處理模塊,用于遍歷第三數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)單字符進(jìn)行替換處理或遍歷第四數(shù)組中的各個(gè)標(biāo)識(shí)符來(lái)對(duì)字符串之間的文本進(jìn)行合并處理。
本發(fā)明能夠根據(jù)排版要求將文檔中的文本拆分成單字符或字符串的形式,再利用設(shè)置的正則表達(dá)式對(duì)單字符或字符串進(jìn)行判定,用標(biāo)識(shí)符進(jìn)行標(biāo)記,再根據(jù)標(biāo)識(shí)符對(duì)文本內(nèi)容進(jìn)行重新排版,極大的減少不規(guī)范的情況,也減輕了錄入員的工作壓力和難度。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。