记一次微小的成功

看各式教程我时常感到无可救药的挫败,不停地怀疑自己真的有这么愚蠢吗?虽然不能称聪明,起码基本的理解和学习能力我不应该缺少啊,为什么在看代码相关的内容总是如此地费劲,时时刻刻都在自我怀疑。

但也有成功解决问题的时刻,即使是非常微小的成功,也想记下来给自己一点鼓励。

好了言归正传。前阵子在微信读书上存档下了 《傲慢的堡垒》 这本书的 html 文件,按照惯例想转成 epub 时发现这本书的微信读书版本有个非常离谱的问题 —— 所有的 21 世纪日期都莫名其妙加了 100 年,从头到尾无一例外。第一章就是 “在2107 年……",而豆瓣阅读的版本里数字都是对的,大概率应该不是出版社的问题吧。

总之,我无法容忍看到这些数字时将就着自行换算,所以打算纠正一下。肯定不能用查找替换把 “21” 换成 “20” 了事,毕竟还有 2021 年这种数字存在。

解决方案就是,在 calibre 里点击出查找替换功能,用 (21)(\d{2}) 这个 regex 表达式作为查找条件,然后 Mode 选择 Regex-function ,再点击 Function 旁边的 Create/edit,弹出编辑窗口,return 值改为 "20" + str(match.group(2)) 。命名这个 function 后返回上一界面,在 Function 下拉窗口找到自定义命令,查找,全部替换,完成! (一共处理了 400 多处,在什么情况下才会把这么多数字都弄错啊!)

这肯定不是最优解,但管他呢!只要解决了我就是成功的!

Comments