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命令行参数解析OptionParser类用法实例
Oct 09 Python
Python实现Tab自动补全和历史命令管理的方法
Mar 12 Python
使用Python写个小监控
Jan 27 Python
Python字符串处理实现单词反转
Jun 14 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 Python
Python面向对象之继承和组合用法实例分析
Aug 27 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
next在python中返回迭代器的实例方法
Dec 15 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
教你怎么用python爬取爱奇艺热门电影
May 20 Python
python析构函数用法及注意事项
Jun 22 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
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
javascript 表单规则集合对象
2009/07/21 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
PyQt 线程类 QThread使用详解
2017/07/16 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python TCP包注入方式
2020/05/05 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
简述DNS进行域名解析的过程
2013/12/02 面试题
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
普通党员对照检查材料
2014/09/24 职场文书
合理化建议书范文
2015/09/14 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
工作自我评价范文
2019/03/21 职场文书
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技