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
输出:
更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
相关文章
pytorch1.60 torch.nn在pycharm中无法自动智能提示的解决
这篇文章主要介绍了pytorch1.60 torch.nn在pycharm中无法自动智能提示的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02pycharm社区版安装django并创建一个简单项目的全过程
社区版的pycharm跟专业版的pycharm应用差别还是不太大,下面这篇文章主要给大家介绍了关于pycharm社区版安装django并创建一个简单项目的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-05-05
最新评论