把 Word 中的词汇列表导入到 Excel 中的一种方法

2021-02-02  本文已影响0人  淡是养心药

我们学英语和其他语言时,常常能从网上下载一些词汇列表,我们可以凭此背诵单词。词汇列表的格式通常是以下格式:

Apple  n.   苹果,苹果公司
...

我们在制作 word 词汇列表时,通常没有遵循严格的分隔符规范(以水平制表符或逗号分隔英文和中文解释,这两个符号是 Excel 或 wps 表格打开文本文件时默认使用的分隔符),而是一般使用空格分隔。且外文词组、中文释义之间通常也有空格。这样从 word 文档转换成 Excel 文件时,常常不能正确地分隔英文和中文释义,因为 Excel 导入外部文件时,是以逗号或水平制表符作为分隔符的。

为解决以上问题,我们使用 Linux 下的 sed 命令,在英文和中文之间加上正确的分隔符(如水平制表符):

我们用 wps office 制作词汇表,并导出为 excel 文件。

下面是 word 词汇表文件原文

image.png
  1. 首先把 word 词汇表文件保存为纯文本文件。


    image.png
image.png
  1. 然后打开命令行终端,使用 sed 命令进行替换操作
$ sed 's#\([0-9a-zA-Z,:!+- ]*\)\(.*\)#\1\t\2#g' word.txt > word2.txt

这里我们使用了正则表达式的分组功能,把每条词汇前面的英文解释分成一组,把后面的中文解释分成一组,在替换模式中调用这个两个分组(\1 调用第一个分组,\2 调用第二个分组),并在它们之间插入一个 \t (水平制表符),word2.txt 是替换后的文件。

注意:

  1. 用 wps 表格打开 word2.txt,即可看到已正确的把英文单词和中文释义放到了两列中,把它另存为 Excel 格式就完成了。


    image.png

小技巧

  1. 选择水平制表符或是使用逗号作为分隔符根据实际词汇表的内容决定,比如如果词汇表中已经使用逗号作为常规字符,就不适合选用它作为分隔符了。
  2. 当词条结构较多时,构建正则表达式时,可以多做几个分组,在几个分组中插入水平制表符作为分隔符,就可以在 Excel 表格中插入多列
  3. 像德语这样的小语种,可以在构造的正则表达式中加入英文字符集中缺少的那几个字母。

最近发现,使用 word 或 wps 本身的 "替换" 功能也可完成相同的任务

image.png

如图所示:

然后,如上把 word 文档存储成纯文本格式,然后用 Excel 程序打开该文本文档,保存成 excel 格式即可。

注: 本方法不适合单词中出现空格的情况,比如单词的位置出现了一个词组,且组成词组的单词之间以空格分隔,这样的话,替换后,将在词组中的第一个单词和第二个单词之间插入一个水平制表符。

上一篇 下一篇

猜你喜欢

热点阅读