掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2021|回复: 12

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

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

    [LV.8]以坛为家I

    发表于 2019-8-4 17:43:49 | 显示全部楼层 |阅读模式
    今天想提取这本字典中的辨析和搭配部分,但是没想到折腾了一天一直都失败,要么提示内存不足根本打不开,要么分割之后再进行正则匹配,除了异常缓慢之外,还一直发生未知错误(表达式应该是没写错的)。& v5 ^+ h# U! |3 v
    我知道朗文单独的搭配词典和同义辨析词典已经有了,但是那都是纯英文的,我还是想弄个双解的用来阅读。2 k2 b3 F* s, i$ h) i3 M/ ]
    那么问题来了,为啥这本词典的文件如此大。。?各位大佬,求解!; m3 |: F/ D% Z' d; d
    之前garypang大佬的词组提取帖子我也看了,有人说是因为图片都是以啥64格式存在里面的?但是我把所有图片地址都匹配删除了,也只不过小了几十兆而已。。。困惑中。
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-4 18:13:15 | 显示全部楼层
    nonwill 发表于 2019-8-4 18:04
    # h' q( h# q8 k7 W8 ~# G, d内存不足应该不是问题:只是提取词条的部分信息出来,完全可以每次只读入一个词条的信息,针对词条提取到的 ...
    1 f; p# V7 h5 f4 d
    看来我真的需要先把编程学好再来折腾字典这玩意儿了,不然只会使用一些初级工具,遇到问题了就没法用高级的方式来解决。  谢谢大佬指点。。
  • 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
    # B- z9 p, W; j, n' X" N4 F不同词典可能不一样,但用正则提取有时候容易误删数据,这种建议用专门的html解析器来做。 ...
    " m; R8 F# ?3 \  r, c5 x
    对啊,我就是用正则匹配的时候,选择查找都一条条可以对上,但是选则全部替换就莫名其妙的把一些不相关的部分给删掉了。 谢谢你的建议,我会继续尝试。
  • TA的每日心情

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

    [LV.9]以坛为家II

    发表于 2019-8-4 23:24:42 | 显示全部楼层
    tangshun 发表于 2019-8-4 21:52
    " E# y- p7 t/ o' z  P. t对啊,我就是用正则匹配的时候,选择查找都一条条可以对上,但是选则全部替换就莫名其妙的把一些不相关的 ...
    " l. s+ p2 u6 _4 L
    正则直接全部替换的时候边界后置字符容易越界
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-4 23:28:50 | 显示全部楼层
    thresh 发表于 2019-8-4 23:24- Y( b" |% C) Q: F
    正则直接全部替换的时候边界后置字符容易越界
      z- m5 j. ^8 u0 I9 t
    对,就是这么回事,这是为什么啊?有什么有效的解决办法吗。
  • 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 U0 t3 S" ?" {
    对,就是这么回事,这是为什么啊?有什么有效的解决办法吗。
    - B3 d5 q/ I4 f3 E* W8 [- y
    这个是正则本身的匹配问题,也就是它的解释器本身的问题,除非自己改解释器。当然这个对大家不太现实8 [1 V" A) F9 U$ G6 ?- _. f

    9 w7 K( }- D$ v' c& ~9 I一般的话,变通的办法有:
    0 c+ B" {" G) D" A4 Q: J! B4 U) V方案一:根据内容手工写一一句匹配后置字符,尽量避免贪婪模式1 o4 }* o$ F4 F8 M
    方案二:如果直接匹配行尾能生效,不涉及替换,那就匹配到行位,手工添加一些特殊字符。再重复方案一
    7 p% T( x5 A2 P) ]0 E5 n: _( A, |5 N* d" g2 i
  • TA的每日心情
    奋斗
    2021-4-4 16:28
  • 签到天数: 353 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-8-6 07:17:35 | 显示全部楼层
    shekel 发表于 2019-8-5 08:54
    ' j; x" F4 b7 y  s. E& Z因为这套词典自带例句发音,每句例句几乎都有真人朗读,所以音频占用的容量很大。 ...
    / s1 ?  e$ L, g7 Q
    并不是这么回事,我只解压了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:55& U' [1 T4 u! Y" w! S
    这个是正则本身的匹配问题,也就是它的解释器本身的问题,除非自己改解释器。当然这个对大家不太现实  R* E- j0 i7 Y+ ?% z3 L! u

    - [+ S& K8 E9 D" I, Q2 `一 ...
    : W( r( z+ l9 }2 y( C2 P
    谢谢指点。
  • TA的每日心情
    慵懒
    3 小时前
  • 签到天数: 2044 天

    [LV.Master]伴坛终老

    发表于 2019-10-31 06:38:36 | 显示全部楼层
    tangshun 发表于 2019-8-6 07:17# y( M" F+ I' A
    并不是这么回事,我只解压了mdx文件,在解压之前mdx文件是195M,文本化后居然是600多M,并没有带语音,我 ...

    3 Z' ], s. {" R8 i1 _2 f' p      是被称之为HTML标签的排版指令占的空间太大,这个600多M的文件删去这些内容后,就只有82M的纯文本文件了。
    ( e' ~9 [7 z  \9 k
  • TA的每日心情
    奋斗
    2020-11-15 11:37
  • 签到天数: 249 天

    [LV.8]以坛为家I

    发表于 2019-10-31 20:47:08 | 显示全部楼层
    yfz48516 发表于 2019-10-31 06:38
    & V" i8 j4 s# _$ @6 [* E是被称之为HTML标签的排版指令占的空间太大,这个600多M的文件删去这些内容后,就只有82M的纯文本 ...
    " ?! Y1 ]. C- D' L9 d. i2 n
    其实MDX是有base64的图片嵌入在里面的,html标签本身没这么大。删标签的时候顺便把base64图片也删了,才有了这个82M的效果。
  • TA的每日心情
    慵懒
    3 小时前
  • 签到天数: 2044 天

    [LV.Master]伴坛终老

    发表于 2019-10-31 20:49:56 | 显示全部楼层
    lgmcw 发表于 2019-10-31 20:477 ?) e0 [+ u7 [% H& B6 s
    其实MDX是有base64的图片嵌入在里面的,html标签本身没这么大。删标签的时候顺便把base64图片也删了,才有 ...
    ( l; `7 ^# f, H) F
          谢谢指教!应该是这样。5 J/ x9 |) a+ N$ @- ?
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-5 13:59 , Processed in 0.021750 second(s), 21 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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