使用Anki批量导入选择题实录
原文是自己于2021年6月发布在CSDN,这里仅做迁移整合。
一、前言
自用。
Mac下不用插件,单凭WPS的通配符批量向Anki导入选择题的尝试记录。
思路是参考资料里大佬的,模板也是,实操是自己摸索的。
本来导入成功后还挺高兴的,写出来发现太麻烦了,很多地方都存在优化方案。
备考,但暂时没时间搞了,先记录下来,下次导入时给自己一个参考。
二、预备工具
1.参考资料
- 利用notepad++将选择题题库导入到anki(通用版)(知乎:komazhou)
https://zhuanlan.zhihu.com/p/67025073?utm_source=ZHShareTargetIDMore&utm_medium=social&utm_oi=57127758462976
整个流程是按这位大佬的分享来的,不过大佬是利用word的正则表达式,我这边是WPS的通配符,所以实际操作会有点区别
- WPS通配符表
2.工具下载
tuxzz的手机可用随机选项选择题
知乎评论区找到的,
Anki模板-Monokai程序员风格之随机选择题模板2.2
https://zhuanlan.zhihu.com/p/24194695
https://pan.baidu.com/share/init?surl=jXOVwe0P0ykIKhvBfAw18Q
krx8
三、 操作流程
1.初始题目状态如下,
- 题库就是很多道这种类型的题目组成的word文档
2.把所有题目从初始状态预处理成这个状态,即题干、选项和答案分开
我们的目标是
- ①让题干和选项、选项和答案之间存在一个^t制表符;
- ②选项内部的的A、B、C、D之间存在一个<br>换行符
- ③每道题之间存在一个^p换行符
找到换行^p后直接跟“大写字母.”的位置,
把这些位置替换成制表符^t,\1是用来匹配第一个圆括号内内容的,旨在保留B.本身。
接下来,再处理掉D选项和答案之间的^p
经过处理,基本达成了目的①和③。
接下来搞定目的②,
找到所有以^t为间隔的选择项,替换成以<br>为间隔的
变成这个样子。
显然,D选项后边的^t又被我换掉了。。于是加一步补上。
就此,所有处理完毕。
3.处理完毕后,得到可批量导入anki的题目形态如下,
将word保存为UTF-8格式的txt,用anki进行批量导入即可。
这里要注意勾选“允许在字段中使用HTML”,否则<br>是不能分割选项的。
导入后可能有些题目不符合格式要求(多是题干中有额外的换行符^p),单独处理即可。
四、批量导入填空题
上图含义是选择所有下划线部分的词语,替换成{{c1::原词语}}。
顺手加到这篇文章里的,跟选择题导入没关系。