使用Python提取文本中含有特定字符串的方法示例
今天搞了一天的文本處理,發(fā)現(xiàn)python真的太適合做數(shù)據(jù)處理了。廢話不多說(shuō),一起學(xué)習(xí)吧!
1.我的原始數(shù)據(jù)是這樣的,如圖
2.如果要提取每行含有pass的字符串,代碼如下:
import re filepath = "E:/untitled1/analyze_log/test.log" txt = open(filepath, "r").read() result="" test_text = re.findall("..............+pass", txt)#取出每行含有pass的文本 result = result +'\n'.join(test_text)#換行輸出 print(result)
3.執(zhí)行上面代碼,可以取出每行含有pass的文本,如圖:
4.其實(shí)我真正要提取的是每行類似上圖紅色框內(nèi)的字符串,代碼實(shí)現(xiàn)如下:
import re filepath = "E:/untitled1/analyze_log/test.log" txt = open(filepath, "r").read() result="" test_text = re.findall("..............+pass", txt)#取出每行含有pass的文本 result = result +'\n'.join(test_text)#換行輸出 del_num = re.sub("\d+ ", "", result)#去掉每行行首的數(shù)字 del_awake = del_num.replace("awake", "")#去掉awake del_commd = del_awake.replace("commd", "")#去掉commd del_string1 = re.sub("-a+\d\d\d\d-\d.wav", "", del_commd)#去掉-a0023-1.wav類型的字符串 del_string2 = re.sub("-a+\d\d\d\d.wav", "", del_string1)#去掉-a0016.wav類型的字符串 print(del_string2)
5.執(zhí)行上面代碼,可以取出最后我需要的文本,如圖:
6.拓展
7.示例代碼
import re str = 'Hello123/World 45_?6bye' result1 = re.findall('\d',str)#\d匹配任何十進(jìn)制數(shù) result2 = re.findall('\d+',str)#\d+可匹配一位或多位數(shù)字使用 result3 = re.findall('\D',str)#\d匹配非數(shù)字字符任何十進(jìn)制數(shù) result4 = re.findall('\w',str)#\w匹配任何字母數(shù)字字符,包括下劃線在內(nèi) result5 = re.findall('\W',str)#\W匹配非任何字母數(shù)字字符,包括下劃線在內(nèi) result6 = re.findall('\s',str)#\s匹配任何空白字符 result7 = re.findall('\S',str)#\S匹配非任何空白字符 result8 = re.findall('\AHello',str)#\A僅匹配字符串開(kāi)頭 result9 = re.findall('bye\Z',str)#\Z僅匹配字符串結(jié)尾 print(result1) print(result2) print(result3) print(result4) print(result5) print(result6) print(result7) print(result8) print(result9)
接下來(lái)會(huì)更幾篇關(guān)于文本處理的博客,一邊學(xué)習(xí)一邊記筆記。加油!
到此這篇關(guān)于使用Python提取文本中含有特定字符串的文章就介紹到這了,更多相關(guān)Python提取文本特定字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python通過(guò)openpyxl生成Excel文件的方法
這篇文章主要介紹了python通過(guò)openpyxl生成Excel文件的方法,實(shí)例分析了openpyxl的安裝與使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05python中的psutil模塊詳解(cpu、內(nèi)存、磁盤情況、結(jié)束指定進(jìn)程)
這篇文章主要介紹了python中的psutil(cpu、內(nèi)存、磁盤情況、結(jié)束指定進(jìn)程),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04python中獲得當(dāng)前目錄和上級(jí)目錄的實(shí)現(xiàn)方法
這篇文章主要介紹了python中獲得當(dāng)前目錄和上級(jí)目錄的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10解決django前后端分離csrf驗(yàn)證的問(wèn)題
今天小編就為大家分享一篇解決django前后端分離csrf驗(yàn)證的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02利用Python+PyQt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器的實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于如何利用Python+PyQt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器的相關(guān)資料,Qt 的主要優(yōu)勢(shì)是可以開(kāi)發(fā)跨平臺(tái)的圖形界面程序,基于 Qt 的應(yīng)用能夠借助于各平臺(tái)的原生性在不同類的設(shè)備上運(yùn)行,而無(wú)須修改任何代碼庫(kù),需要的朋友可以參考下2021-07-07