使用perl构造自己所属的专用词库

使用perl构造自己所属的专用词库,第1张

概述  1.文章目的及背景介绍: 前几天购买的英语词汇书中附赠了一款软件,能够按照书中的每一章的词汇进行考查,提供的考查方式有'看英文选中文'、'听音选中文'、'看中文选英文'和'单词拼写'这几项,很是符合我的需求。但是在使用了几个单元之后,发现了一个很重要的问题:该软件的词库和词汇书中的词库不一致,每个单元的词汇并不像他宣称的那样一一对应的。 囧,要是这样,这款软件就完全没有意义了。后来转念一想,能

 

1.文章目的及背景介绍:

前几天购买的英语词汇书中附赠了一款软件,能够按照书中的每一章的词汇进行考查,提供的考查方式有'看英文选中文'、'听音选中文'、'看中文选英文'和'单词拼写'这几项,很是符合我的需求。但是在使用了几个单元之后,发现了一个很重要的问题:该软件的词库和词汇书中的词库不一致,每个单元的词汇并不像他宣称的那样一一对应的。

囧,要是这样,这款软件就完全没有意义了。后来转念一想,能不能以此软件为基础构造适合于自己的词库呢?本文将整个摸索的过程记录下来,用于以后自己参考.

需求及可行性分析:

  软件的目录结构如下:

 

  /..

  |——data/

  |——sound/

  |_skin

  .

 

  其中,sound中存放的是各个单词的发音;data中存放的是软件词库,而且,词库不出所料的以xml格式存储;-),看到这里,不禁精神一振,觉得修改它的词库是可行的.

  词库格式:

 

 

  思路如下: 词汇书的赠品中还包括了每个单元的MP3及对应的lrc文件,只要从lrc文件中取出所有单词,按顺序地在原来的词库中找到该单词相对应的项并取出。这样,就能得到新的词库,到那时,只需要吧WID的值更改一下即可。  

 

2.工作环境及经验要求:

   工具:perl,ultraEdit,MS_dos,Cygwin easy

   *** 作系统:windows xp

   经验要求:熟悉基本的linux命令,熟悉正则表达式,熟悉perl语言即可.

3.过程:

  1.从LRC文件中取出所有的单词。

 

 

    正如上图所示,lrc文件分别在cd文件夹下面的5个一级文件夹30个二级文件夹中,采用 find . -name "*.lrc" > lrcnameList.txt,并将其处理成 cp ./核心词汇/Word List 05/Word List 05.lrc ./LRC 然后当脚本处理即可。

    然后再用  cat *.lrc > wordList.txt 得到新词库

    从这一步获得的wordList.txt中的内容如下:

abroad

accord

ache

across

 

  2.从旧词库中取出单词项。

 将wordList.txt中的单词用正则表达式处理成

E="abroad"

E="accord"

E="ache"

E="across"

E="act"

E="address"

E="advance"

  创建get_word_info.pl文件,代码如下:

 

 

   用命令 ./get_word_info > new_word.data,得到新词库

 

 

   对于旧词库中没有的单词,需要剔除这些单词.

3.最后将WID的值修改成升序即可。

 

4.总结

 (没了)

@H_404_163@ 总结

以上是内存溢出为你收集整理的使用perl构造自己所属的专用词库全部内容,希望文章能够帮你解决使用perl构造自己所属的专用词库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1289170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存