开干。怎样去除不该换行的换行符呢?基本思路,除标点外的汉字后面一般不应该换行,写点代码简单处理了一下,听书效果好多了。
[Python] 纯文本查看 复制代码fp1=open(r"源文件.txt",'r',encoding="utf-8")#请先用记事本打开源文件另存为utf-8编码文件
fp2=open(r"目标文件.txt",'w',encoding="utf-8")
bd="!?,。、"“”〝〞#$%&'~()*+-/\:;<=>[]^`{}「」《》「」『』【】〖〗—…." #句尾可能会用到的标点
lineall=fp1.readlines()
line2all=[]
linet=""
for line in lineall:
if line.strip()!="":
if line.strip()[-1] in bd:
linet=linet+line
line2all.append(linet)
linet=""
else:
linet=linet+line[:-1]
fp2.writelines(line2all)
fp1.close()
fp2.close()
不过结果有点小问题,章节行尾的换行符也被搞掉了。重来,用高大上的正则。
[Python] 纯文本查看 复制代码import re
fp1=open(r"源文件.txt",'r',encoding="utf-8")
fp2=open(r"目标文件.txt",'w',encoding="utf-8")
lineall=fp1.readlines()
for line in lineall:
if re.match('.+[\u4e00-\u9f5a]+\n',line):
if not re.match('(^第.+?章)',line):
fp2.write(line[:-1])
else:
fp2.write(line)
else:
fp2.write(line)
fp1.close()
fp2.close()
再看结果,好像还不错。听书app听起来舒服多了^_^
示范图.jpg (142.32 KB, 下载次数: 1)
下载附件
2024-8-10 15:55 上传