【模糊查询】之用VS的正则表达式替换工具标准化词典

by shinichi_wtn 2008-12-19 10:51

汉语是我们的母语,每天我们都不断地与它打交道。现代汉语大词典算是中国最权威的汉语词库了,为了进行实验,下载一个汉语词典的文本文件(txt)是有必要的,而网络上这类词典非常丰富,所以该资源很容易得到。而TXT文件中的内容并不是完全符合标准,不能直接导入ACCESS数据库,首先得对TXT中的文字进行字符串替换和标准化处理,运用正则表达式来处理非常方便和快捷。下面将介绍如何处理该文件

比如我下到的词典的最开头的样子如下图

它有几个很明显的规律:首先,单字两侧没有“【”和“】”而每个单字前面却是“*”,即现有的单字格式为“*×”,我们需要把它替换成“【×】”,因此查找它的正则表达式为

\*{[\u4e00-\u9fa5]}

相应的替换它的正则表达式为

【\1】

这样,把所有的单字格式转换为了词语的格式,如下图,下一步处理就变得容易了

接下来,需要处理空白行和每个词前面的空格,空白行固有的特征可以用下面的表达式描述

\n\n

然后把它替换成

\n

即可,这样空白行被删除了,如下图

再把每个词前面的空格替换掉,这个直接用简单查找替换即可,把“  【”替换为“【”即可,得到如下图的结果,还差最后一步了

最后我们要将“【”“】”替换掉,然后用TAB分开词和解释,这个直接用替换功能即可,把“【”替换为空,把“】”替换为“】\t”,其中\t表示TAB,最后标准化处理结束,可以直接导入数据库成为汉语词典了

 

总结:VS的查找替换工具是相当强大的,我们在处理文本文件时,有时候可以先分析其独有的规律,然后用正则表达式进行查找替换,而避免使用编程带来的麻烦。

(仅用于Gavatar)

  Country flag

biuquote
  • Comment
  • Preview
Loading

About

shinichi_wtnI'm Shinichi_wtn

Software Engineering Manager at Microsoft

[More...]


Month List