查看: 1547|回复: 45
打印 上一主题 下一主题

[求助] 转MDICT词典时出现的问题

[复制链接]
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    跳转到指定楼层
    1
    发表于 2009-4-23 16:57:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在转一个MDICT词典时,出现如下提示,请教是什么问题?

    mdict.JPG (19.43 KB, 下载次数: 0)

    mdict.JPG

    该用户从未签到

    45

    主题

    1420

    回帖

    1万

    积分

    管理员

    Rank: 13Rank: 13Rank: 13Rank: 13

    积分
    10971

    管理组专用章

    2
    发表于 2009-4-23 18:29:02 | 只看该作者
    估计是格式不对。找不到词条的结束标记,导致认为词条太长了。

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    3
    发表于 2009-4-24 14:51:08 | 只看该作者
    是不是有空行?
    最后一条词条是不是有</>结束的标志?
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    4
     楼主| 发表于 2009-5-15 14:03:35 | 只看该作者
    cdyg版主:
         如何在ULTRAEDIT中用正则表达式将下图中上面高亮部分转成下面高亮的?

    con2.JPG (44.47 KB, 下载次数: 0)

    con2.JPG

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    5
    发表于 2009-5-15 16:02:18 | 只看该作者
    从你给的图片中看不是太明确,是不是要将上面高亮部分的“朳”等类似单字给分离成独立的词条并加上相应的分隔符呢?此外这个单字前后有特定的规律性文字或符号吗,能否再详细进行说明?
    最好你节选出部分比较典型的文本,作为附件格式附上好吗?
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    6
     楼主| 发表于 2009-5-15 18:30:28 | 只看该作者
    [quote]原帖由 cdyg 于 2009-5-15 16:02 发表
    从你给的图片中看不是太明确,是不是要将上面高亮部分的“朳”等类似单字给分离成独立的词条并加上相应的分隔符呢?此外这个单字前后有特定的规律性文字或符号吗,能否再详细进行说明?
    最好你节选出部分比较典型的 ... [/quote

    对,就是想将“朳”等类似单字给分离成独立的词条并加上相应的分隔符,格式如图所示,因有1300多,手工改费时间,我曾试着替换:”。?^p①替换为:”。^p</>^p?^p①,?代表一个字符,就是“朳”等类似单字,可惜全部将单字替换成?了。
    节选了部分在附件中,类似的单字共三个,请指点,谢谢

    [ 本帖最后由 54john 于 2009-5-15 19:15 编辑 ]

    c1.JPG (154.21 KB, 下载次数: 0)

    c1.JPG

    编辑1.rar

    761 Bytes, 下载次数: 7, 下载积分: 米 -5 粒

  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    7
     楼主| 发表于 2009-5-15 20:50:57 | 只看该作者
    另一个问题,如何将两个汉字之间的数字去掉?中间的数字是代表该字的读音,但检索不方便。例子如下面文字中的“重2九”等:

    重2九
    指农历九月初九日。又称重阳。 晋  陶潜 《九日闲居》诗序:“余閑居,愛重九之名。秋菊盈園,而持醪靡由。” 唐  文丙 《牡丹》诗:“不同寒菊舒重九,只擬清香泛酒卮。” 明  徐弘祖 《徐霞客游记·滇游日记三》:“初九日……是日爲重九,高風鼓寒,以登高之候。” 闻一多 《红烛·忆菊》:“那祖国底登高饮酒的重九,不又是你诞生底吉辰吗?”参见“ 重2陽”。
    </>
    重2九登高
    旧俗于农历九月九日重阳节,以绛囊盛茱萸,登高山,饮菊酒,谓可以避邪免灾。 南朝  梁  吴均 《续齐谐记·重阳登高》:“ 汝南  桓景 隨 費長房 遊學累年。 長房 謂曰:‘九月九日汝家當有災,宜急去,令家人各作絳囊,盛茱萸以繫臂,登高飲菊花酒,此禍可除。’ 景 如言,齊家登山。夕還,見雞犬牛羊一時暴死。 長房 聞之,曰:‘此可以代矣。’今世人每至九月九日登高飲酒,婦人帶茱萸囊,因此也。” 郭沫若 《芍药及其他·竹阴读画》:“而且我在几天前的重九登高的时候,分明是从这儿经过过的,那真可算是‘过门而不入’了。”
    </>
    重2九譯
    语言经过辗转翻译才能听懂。借指边远之地。《史记·大宛列传》:“且誠得而以義屬之,則廣地萬里,重九譯,致殊俗,威德徧於四海。” 张守节 正义:“言重重九遍譯語而致。”参见“ 重2譯”。
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    8
     楼主| 发表于 2009-5-15 21:45:29 | 只看该作者
    再一个问题:如何去掉重复词条?
    youweiwu 该用户已被删除
    9
    发表于 2009-5-15 23:49:11 | 只看该作者
    1、试试这个
    ue中选perl模式
    查找:(?m)。(\w+)$\r?\n^①
    替换:。\r\n</>\r\n\1\r\n①
    2、
    查找:(\w)[1-4](\w)
    替换:\1\2
    3、
    同问?
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    10
     楼主| 发表于 2009-5-16 09:46:20 | 只看该作者
    原帖由 youweiwu 于 2009-5-15 23:49 发表
    1、试试这个
    ue中选perl模式
    查找:(?m)。(\w+)$\r?\n^①
    替换:。\r\n\r\n\1\r\n①
    2、
    查找:(\w)[1-4](\w)
    替换:\1\2
    3、
    同问?



    非常感谢你的指点。
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    11
     楼主| 发表于 2009-5-16 17:40:06 | 只看该作者
    原帖由 youweiwu 于 2009-5-15 23:49 发表
    1、试试这个
    ue中选perl模式
    查找:(?m)。(\w+)$\r?\n^①
    替换:。\r\n\r\n\1\r\n①
    2、
    查找:(\w)[1-4](\w)
    替换:\1\2
    3、
    同问?

    试了第二个问题,但不成功。不是要删除所有的,只是要删除类似参见“ 重2陽”和</>后面的重2九登高的数字,否则“年2月”中的2也给删除了。

    [ 本帖最后由 54john 于 2009-5-16 17:46 编辑 ]
    youweiwu 该用户已被删除
    12
    发表于 2009-5-17 11:35:40 | 只看该作者
    查找(?<=</>\r?\n)(\w)[1-4](\w)|(\w)[1-4](\w)(?=”。\r?\n</>)看行不行,不然没办法了。:'(

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    13
    发表于 2009-5-17 18:49:08 | 只看该作者
    这两天没有上论坛,刚刚才看到。
    首先要将文本全部转换成UNICODE格式。
    1、选择UE正则表达式引擎,
    查找:"。^(?^)^p①"(引号内)
    替换:"。^p</>^p^1^p①" 即可
    2、要替换两次,第一次:
    查找:"参见“ ^(?^)2^(?^)"
    替换:"参见“^1^2"

    第二次:
    查找:</>^p^(?^)2   替换:</>^p^1
    如果不仅是2有其它的数字,把2改成[2-9]即可。

    3、如果会SQL语言通过程序来处理会比较方便一些。
    不过还有另一种办法:请先将换行符全部替换成特殊的字符(如@@@),转换后使一个词条为一行;然后用EXCEL打开(当然EXCEL最多只支持65536条词条,如果超过请截成多个文本。),排序,在B2单元格上构造一个公式:
    B2=IF(A2=A1,1,0),然后把公式给复制到B2以下的所有单元格,见附图:

    这样很明确,凡是B列单元格中值为1的一定是重复的词条,通过EXCEL的数据→筛选→自动筛选 操作,删除值为1的所有行即可。
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    14
     楼主| 发表于 2009-5-17 20:56:52 | 只看该作者
    原帖由 cdyg 于 2009-5-17 18:49 发表
    这两天没有上论坛,刚刚才看到。
    首先要将文本全部转换成UNICODE格式。
    1、选择UE正则表达式引擎,
    查找:"。^(?^)^p①"(引号内)
    替换:"。^p^p^1^p①" 即可
    2、要替换两次,第一次:
    查找:"参见“ ^(?^)2^( ...


    谢谢,谢谢,有空要一点一点改了。

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    15
    发表于 2009-5-18 12:23:20 | 只看该作者
    不客气,如果制作过程中有什么问题,可以一起交流。
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    16
     楼主| 发表于 2009-5-18 20:19:06 | 只看该作者
    原帖由 cdyg 于 2009-5-18 12:23 发表
    不客气,如果制作过程中有什么问题,可以一起交流。


    向cdyg版主学习使用ULTRAEDIT。关于找出重复词条的办法也可这样:利用正则表达式生成只有关键词的文件(感谢rayman提示),再用cdyg的办法在EXCEL中查找、比较、删除。现在要请教的问题是:如何生成只有关键词的文件,把所有内容和</>替换掉。

    [ 本帖最后由 54john 于 2009-5-18 20:56 编辑 ]
  • TA的每日心情
    开心
    2022-10-10 09:12
  • 签到天数: 202 天

    [LV.7]常住居民III

    21

    主题

    1143

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    15589

    灌水大神章小蜜蜂章笑傲江湖章

    17
    发表于 2009-5-18 21:44:23 | 只看该作者
    关于删除重复词条的问题,由于我在修订牛津双解时处理过,说下我的做法
    我用的是Boxer Text Editor这个软件,它可以直接搜索重复词条,而且这个它打开文件比UE更快。具体是,将关键词和内容合并在一行,然后直接搜索,自动生成一个记录重复词条的文本文件。但我后面是手工删除,还是比较麻烦。
    -------------------------------------------------
    顺便借此向cdyg版主请教一个问题:
    如何用正则表达式将文档中固定位置的大写字母单词替换成小写字母单词?例如
    <a herf "entry=ABC">ABC</a>
    中的两个ABC

    [ 本帖最后由 yru 于 2009-5-18 21:45 编辑 ]

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    18
    发表于 2009-5-19 11:23:27 | 只看该作者
    原帖由 54john 于 2009-5-18 20:19 发表


    向cdyg版主学习使用ULTRAEDIT。关于找出重复词条的办法也可这样:利用正则表达式生成只有关键词的文件(感谢rayman提示),再用cdyg的办法在EXCEL中查找、比较、删除。现在要请教的问题是:如何生成只有关键词的文 ...


    不敢说请教:$ :$ 互相交流吧!
    我原来理解你所说的词条是指词条与正文内容都重复。如果你指的仅是词条重复那就更简单了,查找</>^p*%,然后勾选中advanced中的list lines containing string,点击next,列出所有关键词后点击clipbord,新建文本粘贴,去除所有的</>标志,再补上第一条词条就是所有关键词的目录了。

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    19
    发表于 2009-5-19 11:34:36 | 只看该作者
    原帖由 yru 于 2009-5-18 21:44 发表
    如何用正则表达式将文档中固定位置的大写字母单词替换成小写字母单词?例如
    <a herf "entry=ABC">ABC</a>
    中的两个ABC

    这个用正则表达式很难胜任,我考虑的办法是,可以在"<a herf "entry="与</a>的前后加上特殊分隔符号如###,然后用EXCEL打开,仅以###为分隔符,这样就会使含有“<a herf "entry=”的标志出现在固定的第二列中(除非一个词条有2处以上的跳转,其它不含跳转的词条都在第一列),然后选中这一列,新建列用lower()公式转换为小写后粘贴回该列为数值格式。(或将这一列以纯文本复制到WORD中,通过大小写转换工具直接转换为小写再粘贴回EXCEL)
    当然更简单的办法是,如果对程序比较熟,将“a herf "entry=”与<a>之间ascii值大于96且小于128的文本的值直接减去96转换成ascii即可。

    [ 本帖最后由 cdyg 于 2009-5-19 12:24 编辑 ]

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    20
    发表于 2009-5-19 12:34:06 | 只看该作者
    还有一种更简单的办法就是利用UEDIT的宏工具:
    编辑宏,将以下文本粘贴到宏窗口中:

    InsertMode
    ColumnModeOff
    HexOff
    UltraEditReOn
    Find MatchCase RegExp "<a herf "entry*</a>"
    ToLower
    Key END


    按CTRL-M键运行这个宏直到文件结尾即可。

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    21
    发表于 2009-5-19 12:42:27 | 只看该作者
    附件是这个宏文件:
    加载宏文件,宏→多次运行宏→选中lower,勾选play macro to end of file

    LOWER.rar

    170 Bytes, 下载次数: 5, 下载积分: 米 -5 粒

  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    22
     楼主| 发表于 2009-5-19 13:17:50 | 只看该作者
    原帖由 cdyg 于 2009-5-19 11:23 发表


    不敢说请教:$ :$ 互相交流吧!
    我原来理解你所说的词条是指词条与正文内容都重复。如果你指的仅是词条重复那就更简单了,查找^p*%,然后勾选中advanced中的list lines containing string,点击next,列出所有关键 ...


    是我没说清楚,本意是指词条与正文内容都重复,用你的方法已导出词条索引文件就可以了。再请教一个问题:查找时要找除</>之外的三个任意字符如何找?
  • TA的每日心情
    开心
    2022-10-10 09:12
  • 签到天数: 202 天

    [LV.7]常住居民III

    21

    主题

    1143

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    15589

    灌水大神章小蜜蜂章笑傲江湖章

    23
    发表于 2009-5-19 13:20:29 | 只看该作者
    非常非常感谢cdyg版主!

    该用户从未签到

    131

    主题

    535

    回帖

    2826

    积分

    解元

    Rank: 5Rank: 5

    积分
    2826

    笑傲江湖章灌水大神章

    24
    发表于 2009-5-19 15:03:23 | 只看该作者
    原帖由 54john 于 2009-5-19 13:17 发表


    是我没说清楚,本意是指词条与正文内容都重复,用你的方法已导出词条索引文件就可以了。再请教一个问题:查找时要找除</>之外的三个任意字符如何找?

    查找:[~</>][~</>][~</>]
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    25
     楼主| 发表于 2009-5-19 15:55:07 | 只看该作者
    再问一个问题:如何查找除词条外以汉字结尾的行?