用Python实现将txt中的中文和中文标点保留下来

2022/3/8 22:14:37

本文主要是介绍用Python实现将txt中的中文和中文标点保留下来,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

用正则表达式就可以实现这个操作。

中文标点的正则表达式:
[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]
中文的正则表达式:
[\u4e00-\u9fa5]

举例:
1.2.1_25-45分钟.txt = "/getResult success:{'data': '[{"bg":"0","ed":"3880","onebest":"一种就业方式,下面呢,请大家来看两段资料。"

代码:

点击查看代码
import re

f = open("1.2.1_25-45分钟.txt", "r", encoding='utf-8')
print(f)
data = f.readlines()
f.close()
# s = "今天下雨了,。123!@#%@……¥@¥,不开心!。"
# 去除不可见字符

for line in data:
    mystr = re.findall('[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\u4e00-\u9fa5]', line)     #使用正则表达式筛选每一行的数据,自行查找正则表达式
    str1 = "".join(mystr)
    f1 = open("1.2.1_25-45分钟_.txt", "a+", encoding='utf-8')        #新建一个test1.txt文本,已追加的方式写入
    f1.writelines(str1+'\n')                                      #将每一行打印进test1.txt文件并换行

f1.close()

结果:一种就业方式,下面呢,请大家来看两段资料。

PS:
如果直接把mystr写入文件中,会报以下错误:

TypeError:can only concatenate list (not "str") to list:
类型错误:只能将list类型和list类型联系起来,而不是str类型;

所以要用 "".join(mystr) 来把 str类型加入到list中



这篇关于用Python实现将txt中的中文和中文标点保留下来的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程