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

问题描述:

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

思路:

  1. 打开txt文件
  2. 读取txt文件中的文本
  3. 用正则匹配获取中文
  4. 将其内容写入到另一个文本中

python实现:

代码
 
   
# 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()
# 打开的文件记得关闭哦!

 要点:

  1. 文件的读写 open(filename,type),file.close()
  2. 正则表达式使用

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

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

转载于:https://www.cnblogs.com/xinzaitian/archive/2010/11/30/1892208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值