查看: 1163|回复: 1
|
利用TextPro整理码表
[复制链接]
|
|
在TextPro的正则表达式帮助中,其应用举例提到:
例四:有一个从“输入法生成器”反编译出来的拼音表,其中有单字的拼音,也有词组的拼音。现在希望把单字的拼音和词组的拼音分开。文件的格式是每行一个字或词组,行首是汉字或词组,其后紧跟拼音。
这里将用到正则表达式所定义的一个特殊符、两个通配符、一个重复指示符和一个替换表达式:
特殊符^:匹配行首。例如,“^他”匹配出现在行首的“他”字。
通配符\c:匹配任意汉字(不包括符号)。
通配符\~f:匹配任意单字节字符。[参考\f:匹配任意双字节字符(汉字或全角符号)。]
重复指示符+:表示前一“原子”至少匹配一次。
替换表达式\d:向后删除一个字符。
操作办法:用替换功能,查找“^\c\c+\~f+”,替换为“\d”,就得到了一份单字的拼音表,另存为“单字.txt”后,按Ctrl+Z(UNDO)撤消刚才的操作,再用替换功能,查找“^\c\~f+”,替换为“\d”,就得到了词组的拼音表,可另存为“词组.txt”。
分析:“^\c\c+\~f+”匹配行首以汉字开头,跟着一个以上的汉字,再跟着一个以上任意半角字符的行,也就是所有的词组行,替换为“\d”把这些行删除,得到的是单字的拼音表;“^\c\~f+”匹配以一个汉字开头,紧跟着一个以上任意半角字符,这些正好是单字的拼音行,删除后即得词组的拼音表。
同理,如果把单字去掉后,用查找“^\c\c\c+\~f+”替换为“\d”,将只保留双字词组。要在汉字和编码之间插入空格,则只需用“^\c+”替换为“\0 ”(注意:0后面跟空格)即可。
TextPro是免费软件,当前版本是5.1版,欢迎到“中华佛典宝库”网站的“软件工具”栏目中下载使用。
[ Last edited by hoss on 10-2-2005 at 10:50 AM ] |
|
|
|
|
|
|
|
发表于 15-2-2005 11:29 PM
|
显示全部楼层
哈!我一直都有使用TEXTPRO,想不到其中文正规表达竟有此一功能,前几天我试了楼主所述的中文功能,果然非常好用。
我之前也有整理过类似的字及词混合码表,是使用EXCEL来分词分字,不过目前看来是用TEXTPRO是最快了的,比EXCEL更快更简单。
类似TEXTPRO的中文正规表达法,不知ULTRAEDIT是否也可做做到呢,欢迎大家齐来研究。
TEXTPRO目前好似还不支持UNICODE,希望以后更新版有支持。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|