notepad换行符替换_利用notepad++将选择题题库导入到anki(通用版)

第一次在知乎上写文章,也不会排版,各位将就看,如有错误之处请指出

首先,要感易小猫 和 NetTeel为我们提供的anki选择题模板:

易小猫:Anki模板-Monokai程序员风格之随机选择题模板2.2​zhuanlan.zhihu.com
61f6bc3949189125f1d84b0d1de07b8f.png
NetTeel:【Anki模板】Monokai风格之随机选项多功能模板1.0(单选、多选二合一)​zhuanlan.zhihu.com
d606258868bd5842cb1f3e8acb410365.png

还要感谢我见风声 、清风在侧 和NetTeel的文章:

清风在侧:使用宏制作选择题模板&Anki选择题的导入​zhuanlan.zhihu.com
1fc1502c3dff78e30aa7a2858a9210a7.png
NetTeel:如何导入建造师题库到anki中​zhuanlan.zhihu.com
我见风声:anki|批量制作选择题的另一种思路​zhuanlan.zhihu.com
125a352c5ae97ddedf4a6ef03a017603.png

通过各位前辈的文章可以知道,需要将题库导入到anki,需要先将题库制作成符合格式要求的txt文件,具体的要求如下:

1、文档的编码格式为UTF8;

2、将每道题(每个卡片)放在一行内,根据模板的字段,将每道题中分属于不同字段的部分之间使用制表符(tab)分割。

注:anki中导入题库的时候,可以指定用空格来分割字段,但通常题库中的题干、选项或答案等部分可能会存在较多的空格,所以建议使用制表符(tab)进行分割比较可靠

由于多年前使用supermemo时制作过题库,结合以往的经验,决定使用notepad++和正则表达式替换来制作txt文件。

具体制作步骤如下

1、打开notepad++,将我们从网上能够获取到的选择题解析题库全选复制后,粘贴到一个文档内。为避免自动换行影响对实际换行的观察,在notepad++的视图中取消勾选“自动换行”,我们只需要看每一行的开头部分,就可以找出每一个换行符后面的文字特征。

a5c0d74cc4a1b997a466ae3bef639be4.png

目前,我们从网上能够获取到的选择题解析题库的形式主要有两种:

  • 一种是在每道题的题干和选项后直接写出参考答案和解析,如下图:

729970ea0cc1a276d1623b13caf4e0ce.png
  • 一种是试题部分和答案解析部分完全分开成为两个部分,如下图:

a74a6db89f2d5ff81c9051f1464294f6.png

无论哪种形式,题干与选项之间、选项与选项之间、选项与答案之间、以及答案和解析之间通常都是用空格、制表符或换行符进行分割,要将每道题放在同一行内,需要将所有的换行符替换成制表符。但是,题库中每道题的题干与上一道题之间同样是使用换行符进行分割,直接将所有换行符替换成制表符,只能将全文转换到一行内,因此,需要将每道题题干前的换行符排除在外。

通过对上述题库的题干进行观察,每道题都是以“第n题”开头的,当然,不同题库中题干的开头可能也存在区别,比如“1、”或“1.”等等。根据这些特征将每道题题干中的换行符进行替换:

  • 使用ctrl+f打开查找对话框,勾选左下角的“正则表达式”,查找目标中输入:rn([^第d{1,3}题])

df2e987f30b1ad1960d952f71db87d5e.png
  • 点击计数,可以看到查找对话框底部会显示“计数:***次匹配”,
  • 然后点击替换,并在替换为中输入:t1

fb22eefe7da39e88a4db6db45e70aaa1.png
  • 点击全部替换后,将每道题放在同一行内,如下图,题号与行号一致。

dbf898c64f93c217a5cfdc832d6efbf0.png

通俗解释(尽量不涉及专业术语):

查找目标“rn([^第d{1,3}题])”中

“d”表示匹配数字0-9,“d{1,3}”表示匹配任意一位到三位数,即0-999,这样,“[第d{1,3}题]”就是用来匹配每道题前面的题号“第n题”;

中括号内的“^”表示否定,即“[^第d{1,3}题]”就表示不匹配每道题前面的题号“第n题”。

在“[^第d{1,3}题]”的中括号外再增加一个半角圆括号是用来将其作为一个整体,

“rn”表示匹配换行,rn([^第d{1,3}题])就表示匹配换行,且换行后跟着的不是每道题前面的题号“第n题”。

而替换为“t1”中的“t”表示匹配制表符,即将“rn”(换行)替换成“t”(制表)。

1表示匹配第一个半角圆括号内的内容,即([^第d{1,3}题])在查找过程中匹配到什么内容,1就表示该内容,比如,([^第d{1,3}题])匹配到选项A中的“A”,此处替换的时候,还是替换为“A”,即保留查找时所匹配的具体内容,从而实现仅仅对换行的替换。

2、对于第二中情况,若参考答案单独在一个段落内,需要先将每两道题的参考答案用换行分割开,通常参考答案具有如下特征:

  • 每道题的答案前有数字题号,
  • 题号前或/和题号后有标点符号,

假如题号前的标点为“;”,题号后的符号为“,”,可以在查找目标中输入“;d{1,3},”,替换为中输入“rn”

就可以将参考答案转换成竖列,

灵活使用第1步和第2步的方法,可以将解析部分转换成数列。

然后将第一步处理好的题干和选项复制到excel中,然后在紧随其后的两列,分别粘贴本步中处理的竖排参考答案和解析,再将excel中的所有文字复制粘贴回notepad++。

注:notepad++本身也可以按列处理,按住alt键可以列选,不过个人感觉利用excel转换一下更加方便。

至此为止,处理好的txt文本具有如下格式:

题干(制表符)A选项(制表符)B选项(制表符)……D选项(制表符)答案(制表符)解析

题干(制表符)A选项(制表符)B选项(制表符)……D选项(制表符)答案(制表符)解析

3、由于NetTeel的模板是基于anki内部cloze模板制作的,要求题干字段至少要有一个{{c1::()}},因此采用如下替换式对题干进行处理

查找目标中输入“(^.*?)t”;替换为中输入“1{{c1::()}}t”。

替换为中的“1”即为查找目标中的第一个半角圆括号所匹配的内容。

替换为中的“{{c1::()}}”即为插入的{{c1::()}},在正则表达式中,半角的{、}和:需要与转义符配合表示自身,即{在替换完成后就是{,:在替换完成后就是:,}在替换完成后就是}。

4、NetTeel的模板中,选项整体为一个字段,而每个选项以换行符分隔,因此需要将所有选项包围在半角的引号内,且每个选项之间用换行符<br>标签进行分隔。

以四个选项ABCD为例,采用如下替换式进行处理:

查找目标中输入“A(.*?)tB(.*?)tC(.*?)tD(.*?)”;替换为中输入“"1<br>2<br>3<br>4"”。

替换为中的“1”,“2”,“3”和“4”分别为查找目标中的第一个、第二个、第三个和第四个半角圆括号所匹配的内容。

注:由于ABCD没有被半角圆括号包围,替换后不会被保留,如果选项的ABCD后跟有符号,如顿号,想要替换后同时不保留顿号,可以将查找目标中的“A(.*?)tB(.*?)tC(.*?)tD(.*?)”修改成“A、(.*?)tB、(.*?)tC、(.*?)tD、(.*?)”。

.表示匹配除换行符以外的任意字符,*表示前面的重复N次匹配,?表示在遇到后面需要匹配的t前,*尽可能少的匹配,

"表示替换后成为半角的引号。

至此,符号要求的txt文本制作完成,打开anki,导入文本,选择模板并指定字段导入即可。

由于本文成文过程是在本人自己制作题库后进行,再加上本人很少写文章,文章内的瑕疵较多,如有错误,请各位指出,如有疑问欢迎讨论。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Anki抽认卡替换新的标签页 通过将它们整合到您的浏览习惯中,可以使抽认卡的阅览更加轻松和轻松。不再需要长达一个小时的Anki会议!每次打开新选项卡时,AnkiTab都会为您提供一系列的抽认卡,使您可以在一整天的时间内查看卡片中的细小片段,从而获得更轻便,更有效的学习方法。具有内置的甲板交错功能,已被科学证明可以改善学习过程[1] [2] [3] [4]。该扩展是完全开源的,所有代码均在The Unlicense许可下使用,这是非常宽松的。可以在https://github.com/corollari/ankiTab上找到代码存储库。如果您发现任何问题/错误或想要请求任何功能,请给我发送电子邮件至ankitab@albert.sh或在github上创建一个问题 [1] Pan,StevenC。交错效应:将其混合起来可促进学习。科学美国人 2015年8月。取自2018年9月9日,来自https://www.scientificamerican.com/article/the-interleaving-effect-mixing-it-up-boosts-learning/ [2] Rohrer,D.交错帮助学生区分类似的概念 Educ Psychol Rev(2012)24:355。https://doi.org/10.1007/s10648-012-9201-3 [3] Rohrer,D.,Dedrick,RF,&Stershic,S.(2015)。交错练习可提高数学学习能力。教育心理学杂志,107(3),900-908 [4] John Dunlosky,Katherine A. Rawson,Elizabeth J. Marsh,Mitchell J. Nathan和Daniel T. Willingham(2013)。通过有效的学习技巧改善学生的学习。公共利益心理学(Vol 14,第1期,第4-58页)。 支持语言:English
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值