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

yipeiwu_com5年前Python基础

本文实例讲述了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提取支付宝和微信支付二维码的示例代码

支付宝或者微信支付导出的收款二维码,除了二维码部分,还有很大一块背景图案,例如下面就是微信支付的收款二维码: 有时候我们仅仅只想要图片中间的方形二维码部分,为了提取出中间部分,我们可以...

Python使用sax模块解析XML文件示例

本文实例讲述了Python使用sax模块解析XML文件。分享给大家供大家参考,具体如下: XML样例: <?xml version="1.0"?> <...

Django自定义模板过滤器和标签的实现方法

Django自定义模板过滤器和标签的实现方法

现在我们已经很熟悉Django的MTV模式了。模板(template)负责如何去展示数据,而视图(view)负责筛选出正确的数据。因此通常来说逻辑都是放到视图中的,但模板也需要一些 和表...

python发送邮件脚本

本文实例为大家分享了python发送邮件的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- impo...

利用Django框架中select_related和prefetch_related函数对数据库查询优化

利用Django框架中select_related和prefetch_related函数对数据库查询优化

实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下: Models.py 内容如下:   from django...