百木园-与人分享,
就是让自己快乐。

用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中


来源:https://www.cnblogs.com/joiln/p/15982460.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 用Python实现将txt中的中文和中文标点保留下来

相关推荐

  • 暂无文章