使用正则表达式将纯数字的章节进行替换,使得读书软件可以识别章节

场景

下载了小说下来,但是使用读书软件打开本地的小说文件,没办法识别其章节。说明这个不符合章节识别的规则。打开小说,可以看到,如图:
在这里插入图片描述
本文主要是针对该情况,使用正则表达式将指定的数字提取出来,并进行替换。

环境

软件版本
JDK1.8

正文

处理思路

一般,读书软件可以识别的章节名称是 第 XXX 章 章节名称,而本文的样例是 XXX 章节名称,所以这里分为两步:

  1. 确定正则表达式
  2. 对每一行进行匹配,匹配上则将提取到的数字拿出来,然后进行替换。

源码

接下来就是展示具体的代码:

public class Test {
    public static void main(String[] args) throws IOException {
    	// 要替换的文本
        String filePath = "C:\\Users\\超神机械师.txt";
        // 替换之后要保存的路径
        String tmpFilePath = "C:\\Users\\超神机械师tmp.txt";
		// 读取文件内容
        List<String> lines = Files.readAllLines(Paths.get(filePath), Charset.forName("UTF-8"));
        // 匹配 开头为数字的行
        Pattern pattern = Pattern.compile("^(\\d+)\\s");
        List<String> finalLines = new ArrayList<>();
        String temp = "";
        String newLine = "";
        for (String line : lines) {
            Matcher matcher = pattern.matcher(line );
            newLine = line;
            if(matcher.find()){
            	// 提取数字
                temp =matcher.group(1) ;
                // 进行替换
                newLine = line.replaceFirst(temp, "第" + temp + "章");
            }
            finalLines.add(newLine);
        }

		// 输出
        Files.write(Paths.get(tmpFilePath), finalLines, Charset.forName("UTF-8"));
    }
}

结果

打开生成的文件,查看:
在这里插入图片描述
从图片可以知道,我们替换是成功了。将其放到读书软件查看,也是可以看到是正常识别了。

总结

其实很多软件可以做到这一步,不过得专门去下载软件。像我这种,直接执行就可以了。也可以顺便温习一下正则表达式的知识。

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫夜求索阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值