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用sndhdr模块识别音频格式详解
Jan 11 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
Django REST Framework之频率限制的使用
Sep 29 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 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使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
Python中的自定义函数学习笔记
2014/09/23 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
python实现的汉诺塔算法示例
2019/10/23 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
局域网标准
2016/09/10 面试题
初三班主任寄语大全
2014/04/04 职场文书
校庆团日活动总结
2014/08/28 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
会议主持词结束语
2015/07/03 职场文书