掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2020|回复: 12

[求助] 请教FF版朗文5++mdx文件巨大的原因

[复制链接]
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

    发表于 2019-8-4 17:43:49 | 显示全部楼层 |阅读模式
    今天想提取这本字典中的辨析和搭配部分,但是没想到折腾了一天一直都失败,要么提示内存不足根本打不开,要么分割之后再进行正则匹配,除了异常缓慢之外,还一直发生未知错误(表达式应该是没写错的)。# O: {( G1 Q- B9 B6 s3 F. j+ C
    我知道朗文单独的搭配词典和同义辨析词典已经有了,但是那都是纯英文的,我还是想弄个双解的用来阅读。9 F# o( J9 j! }6 s5 u
    那么问题来了,为啥这本词典的文件如此大。。?各位大佬,求解!% N: k1 d) _9 B
    之前garypang大佬的词组提取帖子我也看了,有人说是因为图片都是以啥64格式存在里面的?但是我把所有图片地址都匹配删除了,也只不过小了几十兆而已。。。困惑中。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-4 18:13:15 | 显示全部楼层
    nonwill 发表于 2019-8-4 18:047 v* ?+ |" D# ~4 W! h! K
    内存不足应该不是问题:只是提取词条的部分信息出来,完全可以每次只读入一个词条的信息,针对词条提取到的 ...
    1 n. S% e" Z/ J, P) b- ^+ n  K
    看来我真的需要先把编程学好再来折腾字典这玩意儿了,不然只会使用一些初级工具,遇到问题了就没法用高级的方式来解决。  谢谢大佬指点。。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    发表于 2019-8-4 19:12:09 | 显示全部楼层
    不同词典可能不一样,但用正则提取有时候容易误删数据,这种建议用专门的html解析器来做。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-4 21:52:28 | 显示全部楼层
    jonah_w 发表于 2019-8-4 19:12  S' d+ z% |* k0 C8 s. `' X7 p
    不同词典可能不一样,但用正则提取有时候容易误删数据,这种建议用专门的html解析器来做。 ...

    7 r! H/ N1 D% Q/ m对啊,我就是用正则匹配的时候,选择查找都一条条可以对上,但是选则全部替换就莫名其妙的把一些不相关的部分给删掉了。 谢谢你的建议,我会继续尝试。
  • TA的每日心情

    2023-7-4 23:24
  • 签到天数: 390 天

    [LV.9]以坛为家II

    发表于 2019-8-4 23:24:42 | 显示全部楼层
    tangshun 发表于 2019-8-4 21:52
    4 H+ ]* b2 ?" O( a对啊,我就是用正则匹配的时候,选择查找都一条条可以对上,但是选则全部替换就莫名其妙的把一些不相关的 ...

    , M5 z6 `3 S# t! z正则直接全部替换的时候边界后置字符容易越界
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-4 23:28:50 | 显示全部楼层
    thresh 发表于 2019-8-4 23:24
    5 @1 h! Z) E, I9 z" t正则直接全部替换的时候边界后置字符容易越界
    8 [9 w8 d6 v% B* v0 @
    对,就是这么回事,这是为什么啊?有什么有效的解决办法吗。
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    发表于 2019-8-5 08:54:50 | 显示全部楼层
    因为这套词典自带例句发音,每句例句几乎都有真人朗读,所以音频占用的容量很大。
  • TA的每日心情

    2023-7-4 23:24
  • 签到天数: 390 天

    [LV.9]以坛为家II

    发表于 2019-8-5 15:55:03 | 显示全部楼层
    tangshun 发表于 2019-8-4 23:28" @7 ^) r' V, u, A' x  t1 C
    对,就是这么回事,这是为什么啊?有什么有效的解决办法吗。

    9 Q# g- {5 V3 p6 a) h这个是正则本身的匹配问题,也就是它的解释器本身的问题,除非自己改解释器。当然这个对大家不太现实$ t! {. u5 N2 a; y

    ) @8 B: n% _$ o% X( n0 X- S一般的话,变通的办法有:2 b) d5 b% B/ `  K# w
    方案一:根据内容手工写一一句匹配后置字符,尽量避免贪婪模式
    3 l! B7 ?/ M9 p, [- _% k方案二:如果直接匹配行尾能生效,不涉及替换,那就匹配到行位,手工添加一些特殊字符。再重复方案一
    ( K! A8 Q5 G- u7 f! Z: o( h. I1 y9 v( ?7 _6 \; ^
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-6 07:17:35 | 显示全部楼层
    shekel 发表于 2019-8-5 08:54" j, M$ Y( L( Y
    因为这套词典自带例句发音,每句例句几乎都有真人朗读,所以音频占用的容量很大。 ...

    ( w7 I' A: ]* P7 a并不是这么回事,我只解压了mdx文件,在解压之前mdx文件是195M,文本化后居然是600多M,并没有带语音,我搞不懂为什么这样。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-6 07:18:25 | 显示全部楼层
    thresh 发表于 2019-8-5 15:559 s$ p0 O/ {0 ~
    这个是正则本身的匹配问题,也就是它的解释器本身的问题,除非自己改解释器。当然这个对大家不太现实
    ' |  v/ X! \" [0 R+ z! U2 K0 b8 @. d0 a/ C% I9 A( a0 {
    一 ...
    ! ?& g: ]" R# J' h0 h: Y
    谢谢指点。
  • TA的每日心情
    慵懒
    昨天 10:44
  • 签到天数: 2043 天

    [LV.Master]伴坛终老

    发表于 2019-10-31 06:38:36 | 显示全部楼层
    tangshun 发表于 2019-8-6 07:17( d1 K- X, X& W( o& B- Z1 e
    并不是这么回事,我只解压了mdx文件,在解压之前mdx文件是195M,文本化后居然是600多M,并没有带语音,我 ...
    8 f# M+ S5 M( f% @9 d/ {
          是被称之为HTML标签的排版指令占的空间太大,这个600多M的文件删去这些内容后,就只有82M的纯文本文件了。
    ! ~8 Y! S" S8 m9 j0 f4 E
  • TA的每日心情
    奋斗
    2020-11-15 11:37
  • 签到天数: 249 天

    [LV.8]以坛为家I

    发表于 2019-10-31 20:47:08 | 显示全部楼层
    yfz48516 发表于 2019-10-31 06:38+ S3 V+ X+ a4 N$ ]8 x4 m2 ]
    是被称之为HTML标签的排版指令占的空间太大,这个600多M的文件删去这些内容后,就只有82M的纯文本 ...
    0 @, S* k8 M  F6 c" S6 l+ @$ U
    其实MDX是有base64的图片嵌入在里面的,html标签本身没这么大。删标签的时候顺便把base64图片也删了,才有了这个82M的效果。
  • TA的每日心情
    慵懒
    昨天 10:44
  • 签到天数: 2043 天

    [LV.Master]伴坛终老

    发表于 2019-10-31 20:49:56 | 显示全部楼层
    lgmcw 发表于 2019-10-31 20:47
    - r7 G, U$ s8 K* ~其实MDX是有base64的图片嵌入在里面的,html标签本身没这么大。删标签的时候顺便把base64图片也删了,才有 ...

    7 w/ e4 p: _, [7 {$ N3 a8 Y      谢谢指教!应该是这样。
    3 ~0 K- p( C" D, }" n6 W
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-5 06:39 , Processed in 0.020270 second(s), 20 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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