Python实现简单文本字符串处理的方法


Posted in Python onJanuary 22, 2018

本文实例讲述了Python实现简单文本字符串处理的方法。分享给大家供大家参考,具体如下:

对于一个文本字符串,可以使用Python的string.split()方法将其切割。下面看看实际运行效果。

mySent = 'This book is the best book on python!'
print mySent.split()

输出:

['This', 'book', 'is', 'the', 'best', 'book', 'on', 'python!']

可以看到,切分的效果不错,但是标点符号也被当成了词,可以使用正则表达式来处理,其中分隔符是除单词、数字外的任意字符串。

import re
reg = re.compile('\\W*')
mySent = 'This book is the best book on python!'
listof = reg.split(mySent)
print listof

输出为:

['This', 'book', 'is', 'the', 'best', 'book', 'on', 'python', '']

现在得到了一系列词组成的词表,但是里面的空字符串需要去掉。

可以计算每个字符串的长度,只返回大于0的字符串。

import re
reg = re.compile('\\W*')
mySent = 'This book is the best book on python!'
listof = reg.split(mySent)
new_list = [tok for tok in listof if len(tok)>0]
print new_list

输出为:

['This', 'book', 'is', 'the', 'best', 'book', 'on', 'python']

最后,发现句子中的第一个字母是大写的。我们需要同一形式,把大写转化为小写。Python内嵌的方法,可以将字符串全部转化为小写(.lower())或大写(.upper())

import re
reg = re.compile('\\W*')
mySent = 'This book is the best book on python!'
listof = reg.split(mySent)
new_list = [tok.lower() for tok in listof if len(tok)>0]
print new_list

输出为:

['this', 'book', 'is', 'the', 'best', 'book', 'on', 'python']

下面来看一封完整的电子邮件:

内容

Hi Peter,

With Jose out of town, do you want to
meet once in a while to keep things
going and do some interesting stuff?

Let me know
Eugene
import re
reg = re.compile('\\W*')
email = open('email.txt').read()
list = reg.split(email)
new_txt = [tok.lower() for tok in list if len(tok)>0]
print new_txt

输出:

['hi', 'peter', 'with', 'jose', 'out', 'of', 'town', 'do', 'you', 'want', 'to', 'meet', 'once', 'in', 'a', 'while', 'to', 'keep', 'things', 'going', 'and', 'do', 'some', 'interesting', 'stuff', 'let', 'me', 'know', 'eugene']

更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python如何实现守护进程的方法示例
Feb 08 Python
Python 操作文件的基本方法总结
Aug 10 Python
python3解析库pyquery的深入讲解
Jun 26 Python
python绘制简单彩虹图
Nov 19 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
python实现趣味图片字符化
Apr 30 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
Python datetime包函数简单介绍
Aug 28 Python
Pytorch之卷积层的使用详解
Dec 31 Python
如何使用Python处理HDF格式数据及可视化问题
Jun 24 Python
重构Python代码的六个实例
Nov 25 Python
python中Matplotlib绘制直线的实例代码
Jul 04 Python
Python简单实现控制电脑的方法
Jan 22 #Python
Zookeeper接口kazoo实例解析
Jan 22 #Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 #Python
python的Crypto模块实现AES加密实例代码
Jan 22 #Python
python实现求最长回文子串长度
Jan 22 #Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 #Python
Linux CentOS7下安装python3 的方法
Jan 21 #Python
You might like
php adodb连接带密码access数据库实例,测试成功
2008/05/14 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
JS中定位 position 的使用实例代码
2017/08/06 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
matplotlib设置legend图例代码示例
2017/12/19 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
销售文员岗位职责
2013/11/29 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
小学教师读书活动总结
2014/07/08 职场文书
四风问题查摆材料
2014/08/25 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
五好家庭申报材料
2014/12/20 职场文书
小学运动会开幕词
2016/03/04 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
golang 实现Location跳转方式
2021/05/02 Golang
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL