Geek@Paris

用正则表达式来给文本中的汉字加空格

2006-08-17
我在制作mdict的词典库,但为了让其能够在PPC2003 英文系统上实现中文换行,得把所有连续的中文字都插一个空格进去。
问题就是,怎么做?
当然用某个编辑器的“替换”功能做。
但,替换的时候,怎么搜索,以及替换成什么?这是个问题
 
还好,我没有走弯路,直接就开始考虑了正则表达式。(因为发现WPS和Word根本打不开300MB的文件……)
网上到处找,怎么用正则表达式来表示双字节字符。最终找到了,填入[^x00-xff]即可。
但,后来又碰到的问题是,怎么让搜索到的字符替换成其本身+一个空格?
找到方法如下
搜索“([^x00-xff])
替换成“1_”(“_”表示空格)
这样就可以了
 
好,方法解决了,问题又来了。UltraEdit貌似不支持这么做……虽然选上了正则表达式的勾,可还是不能搜索到正确的字符。
在网友cage.Liu的帮助下(具体讲是江科大学长,呵呵),推荐了EditPlus来做这个事情。
果然可以实现,而且速度比EmEditor快1000倍以上(EmEditor来处理这个300MB的文本,粗略计算一下要24小时开机做83天……)。
现在就等结果了,看做出来的mdict词典能不能换行,以及里面的链接有没有问题。
Author:admin | Categories:IT | Tags:

1 Comment

  1. face says:

    帮倒忙了,谢一个,我也在做Symbian的词典+日文输入法。。。

Leave a Reply

Your email address will not be published. Required fields are marked *


Clickcha - The One-Click Captcha