小编近期参与了一个书城项目负责后台功能的开发,其中有个需求为能够上传Txt格式的电子书并解析出章节标题和章节内容,下面为大家讲讲小编如何实现此需求。
在开始需求分析前,小编要求产品经理提供Txt格式的电子书样例。产品经理给小编两个Txt格式的电子书的样例,下面我们来分析一下这两个Txt格式的电子书,看如何实现上面的需求。
1、Txt格式的电子书格式分析
用记事本打开Txt格式的电子书,如下图所示:


从以上两个图片可以看出章节的标题,a书的章节标题应为“第一章:复仇的开始”,b书的章节标题应为“第一章 采访任务”;分析章节标题的特征如下:

  1. 章节标题直接占用Txt文件的一正行;
  2. 章节标题共同的特征为:第×××章 章节名
  3. 两本Txt电子书章节标题的不同点,a书章节标题前含有:空白字符+###+空白字符,章节名前面以“:”分隔;b书包含两个章节标题,第二个章节标题前有空白字符,章节名前以空格分隔;
    以上分析,我们在解析时需要完成如下工作:
  4. 从Txt读取一行数据,分析是否符合章节标题的格式要求;
    章节格式我们用正则表达式来体现:
    (^(\s{0,10})(.{0,10})第)(.{1,9})[章节卷集部篇](.{1,20})($\s*)
    这个正则表达式的大致意思如下:
  5. 去除相同章节,如上面b书中“第一章 采访任务”出现了两次,保留一个即可;
  6. 两个章节之前的内容作为章节的正文;
    核心代码如下:

    2、Txt格式的电子书编码格式分析
    检查Txt文件的编码格式:用记事本打开文件,点击左上角【文件(F)】后在下拉框中点击【另存为(A)…】在弹出框中可以看到Txt文件的编码格式;


    从以上两个图片中可以看出a书的编码格式是UTF-8,b书的编码格式的ANSI,两本书的编码格式不同,由此我们知道后续上传的Txt格式电子书会存在这两种编码格式,需要做兼容。
    Txt文件编码与Java中字符串编码的对应关系:

    判断Txt文件的编码格式核心代码如下:

    解析结果示例

    总结:Txt格式电子书的解析重点是章节标题的提取,此点我们用的是正则表达式并简单介绍了我们所使用正则表达式的意思,如果需要深入学习正则表达式的同学,请关注我们的微信公众号,回复“精通正则表达式”获取《精通正则表达式》电子书的下载地址并下载学习。

Txt格式的电子书解析相关推荐

  1. 有哪些能支持epub、txt格式的电子书阅读器?能在安卓手机上用的?

    在手机上看书有许多方便之处,随着智能手机的硬件功能越来越发达,无论大学生还是工作族每天与手机端网络资源相接触已经成为了我们生活的常态.可是不得不说手机端打开资源的方式又常常会令我们头痛,那么如何能够又 ...

  2. 分享TXT格式的电子书制作方法

    如果你手上有txt格式的书籍内容,那怎样制作成电子书了? 步骤如下: 1. 进入应用之星网站,注册激活账号,登录: 2. 点击首页的"应用制作",进入制作页面: 3. 点击&quo ...

  3. 有哪些能支持epub、txt格式的电子书阅读器?能在MAC上用的?

    在电脑上看书有许多方便之处,无论是使用键盘记笔记.或者是大屏幕处理网络与工作资源.确实,无论大学生还是工作族每天与电脑端网络资源相接触已经成为了我们生活的常态.可是不得不说Mac端打开资源的方式又常常 ...

  4. 有哪些能支持epub、txt格式的电子书阅读器?在win10上用的?

    在电脑上看书有许多方便之处,无论是使用键盘记笔记.或者是大屏幕处理网络与工作资源.确实,无论大学生还是工作族每天与电脑端网络资源相接触已经成为了我们生活的常态.可是不得不说PC端打开资源的方式又常常会 ...

  5. 有哪些能支持epub、txt格式的电子书阅读器?能在苹果手机上用的?

    在手机上看书有许多方便之处,随着智能手机的硬件功能越来越发达,无论大学生还是工作族每天与手机端网络资源相接触已经成为了我们生活的常态.可是不得不说手机端打开资源的方式又常常会令我们头痛,那么如何能够又 ...

  6. 去除txt格式电子书不正确换行的方法

    txt格式的电子书非常适合在各种设备上阅读,但是网上下载下来的电子书质量参差不齐,排版上存在一定的问题,可以结合辅助工具进行智能排版 使用工具: 开源文本编辑器visual Studio Code 解 ...

  7. Txt格式配置表无法解析的问题——BOM

    今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空.解析类参数是:主键key,文件名fileName,错误提示errorTip. 写读取语句的时候,主键key我是直 ...

  8. Python解析pdf转为TXT格式

    #完成pdf到TXT转变了,无法完成TXT到Excel转变import xlwt # 写入文件 import xlrd # 打开excel文件 from xlutils.copy import cop ...

  9. 一个用JAVA解析TXT格式文本文档的程序举例

    实体类 package txt; public class AliDataRecord {private String FSTR_SCATSID;private String FSTR_DESC;pr ...

  10. JAVA通过epublib解析EPUB格式的电子书

    什么是 epub 格式 就像视频文件有 MP4,AVI,RMVB 等等一样!电子书也有很多种格式:一文看懂mobi,azw3,epub格式电子书 可以将 epub 格式的电子书更换后缀名,然后解压打开 ...

最新文章

  1. Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法
  2. RS-232 Transmitter
  3. kibana6.2.2安装
  4. c语言getitem函数,该借用和窃取的引用的Python C-API函数
  5. Python嵌套列表解析式(又称列表推导式)写法剖析与应用举例
  6. MTK 驱动开发(5)---bootloader
  7. 腾讯广告算法大赛“视”界杯专题直播来袭,腾讯专家助你赛场争先!
  8. 雷声大雨点小-参加江西省网站内容管理系统培训有感
  9. Html图片懒加载动画,带加载进度的Web图片懒加载组件Lazyload
  10. 怎样用计算机制作思维导图,如何使用电脑制作成思维导图,这个方法简单又实在...
  11. ArcGIS求局部空间自相关
  12. c语言项目图书馆借书,C语言打造—齐全的图书馆借阅系统
  13. springboot集成webservice接口
  14. 计算机系统遗传学,中国象棋计算机博弈系统评估函数自适应遗传算法[转]
  15. 深度学习究竟怎么入门?两位Google大神掀起剑气之争
  16. python打包成exe其他电脑运行不了_将python文件打包成exe程序,复制到每台电脑都可以运行-exe是什么文件...
  17. linux下使用man命令查看系统调用
  18. CSS样式层叠关系(一)-- 外部,内部与内联
  19. 打印机 检测到用过的耗材或者赝品耗材
  20. FCC认证亚马逊美国站在严查

热门文章

  1. lv官网编码查询_图文讲解,如何免费自主查询商标近似情况
  2. 什么是setup.py?
  3. FastJNI导致的Android系统死机问题分析
  4. 天堂2 服务器修改,服务器技术交流_新天堂2-战乱的序幕架设教程_-921根据地_只做有质量的游戏 - Powered by Discuz!...
  5. java 转义工具_Java字符转换转义的工具类
  6. 怎样在Word和LaTeX中打出黑底的圆圈数字?
  7. 产品经理必修30本书
  8. 无线传感器网络技术及应用(课后习题答案)
  9. 个人配置--常用软件保护色设置
  10. Johnson算法PlantSimulation解决两机器多作业排版问题