您好,登錄后才能下訂單哦!
本文實例講述了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程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。