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判断windows隐藏文件的方法
Mar 21 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
python3实现windows下同名进程监控
Jun 21 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
python超时重新请求解决方案
Oct 21 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
150行Python代码实现带界面的数独游戏
Apr 04 Python
python将字典内容写入json文件的实例代码
Aug 12 Python
Python Map 函数的使用
Aug 28 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
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
Javascript的匿名函数小结
2009/12/31 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
农民工工资发放承诺书
2014/03/31 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js