其他分享
首页 > 其他分享> > mobi电子书中删除多余的空格

mobi电子书中删除多余的空格

作者:互联网

  过年放假,还是在宅家里看书,结果发现,有些电子书网上整理的并不好,有很多没有用的空格,十分影响阅读效率,于是打算看看能不能解决一下。步骤也很简单,首先下载一个caliber,这个重度kindle使用者都知道,然后我们需要把mobi转换为epub格式,这个格式是可以编辑的,caliber有自带的caliber editor这样的编辑器,打开就好。

我们可以看到,红色的框框中有很多的空格,而这些空格使我们不需要的,这个时候就需要正则表达式了。我们注意到,一些地方的空格其实是有用的,比如css语法中,例如上面的p和class之间。

 

然后我们在编辑器的 搜索 中点击查找替换,然后输入如下正则表达式:

[^a-zA-Z=""><0-9]\s[^a-zA-Z=""><0-9]

同时把下面的模式改成 正则表达函数。

我们点击创建/编辑,然后建立一个自己的替换函数,函数的代码会python的同学应该很清楚了。

def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, **kwargs):
    return match.group()[0] + match.group()[-1]

功能可以说是一目了然。

总体来说,通过正则表达式来定位到空余的空格,正则表达式中,考虑到有一些特殊的格式符号,所以要求空格左右侧都不能是数字和英文字母;然后通过替换函数,将正则表达式匹配到的部分的头尾作为替换的内容。

 

收工,看书去了。

 

 

钱塘小甲子 博客专家 发布了205 篇原创文章 · 获赞 236 · 访问量 98万+ 他的留言板 关注

标签:caliber,函数,正则表达式,空格,mobi,多余,替换,match
来源: https://blog.csdn.net/qtlyx/article/details/104078480