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常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
Python实现图片拼接的代码
Jul 02 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
python之列表推导式的用法
Nov 29 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
Python with标签使用方法解析
Jan 17 Python
django 模型字段设置默认值代码
Jul 15 Python
Python如何实现机器人聊天
Sep 10 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 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
推荐文章系统(一)
2006/10/09 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
iframe里的页面禁止右键事件的方法
2014/06/10 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
JSON取值前判断
2014/12/23 Javascript
angularjs基础教程
2014/12/25 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
音乐系毕业生自荐信
2013/10/27 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
幼教个人求职信范文
2013/12/02 职场文书
空气的环保标语
2014/06/12 职场文书
党代会心得体会
2014/09/04 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
Python如何将list中的string转换为int
2022/07/15 Ruby