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中的格式化输出用法总结
Jul 28 Python
python目录与文件名操作例子
Aug 28 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
python自动12306抢票软件实现代码
Feb 24 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
Python 如何创建一个线程池
Jul 28 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 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验证码函数的使用示例
2013/05/03 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
经济信息系毕业生自荐信范文
2014/03/15 职场文书
初中学校对照检查材料
2014/08/19 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
护士年终个人总结
2015/02/13 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
小学班主任研修日志
2015/11/13 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang