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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM