佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1163|回复: 1

利用TextPro整理码表

[复制链接]
发表于 10-2-2005 10:13 AM | 显示全部楼层 |阅读模式
在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 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 15-2-2005 11:29 PM | 显示全部楼层
哈!我一直都有使用TEXTPRO,想不到其中文正规表达竟有此一功能,前几天我试了楼主所述的中文功能,果然非常好用。

我之前也有整理过类似的字及词混合码表,是使用EXCEL来分词分字,不过目前看来是用TEXTPRO是最快了的,比EXCEL更快更简单。

类似TEXTPRO的中文正规表达法,不知ULTRAEDIT是否也可做做到呢,欢迎大家齐来研究。

TEXTPRO目前好似还不支持UNICODE,希望以后更新版有支持。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 12-2-2025 02:24 AM , Processed in 0.111738 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表