Python-提取文件中所有中文小程序

问题描述:

从一个txt文件中提取所有中文

思路:

打开txt文件
读取txt文件中的文本
用正则匹配获取中文
将其内容写入到另一个文本中
python实现:


如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:688244617


#coding=utf-8 
import imp 
import sys 
imp.reload(sys) 
sys.setdefaultencoding('utf-8') #设置默认编码,只能是utf-8,下面\u4e00-\u9fa5要求的
import re   
pchinese=re.compile('([\u4e00-\u9fa5]+)+?') #判断是否为中文的正则表达式
f=open("data.txt") #打开要提取的文件
fw=open("getdata.txt","w")#打开要写入的文件
for line in f.readlines():   #循环读取要读取文件的每一行
    m=pchinese.findall(str(line)) #使用正则表达获取中文
    if m:
        str1='|'.join(m)#同行的中文用竖杠区分
        str2=str(str1)
        fw.write(str2)#写入文件
        fw.write("\n")#不同行的要换行
f.close()
fw.close()#打开的文件记得关闭哦!

要点:

文件的读写 open(filename,type),file.close()
正则表达式使用
re 模块是正则表达式的Python实现。它有一个漂亮的函数findall(),接受一个正则表达式和一个字符串作为参数,然后找出字符串中出现该模式的所有地方。在这个例子里,模式匹配的是数字序列。findall()函数返回所有匹配该模式的子字符串的列表。

字符串拼接 ‘|’.join(strabc),在strabc字符串后面添加|。

你可能感兴趣的:(python)