匹配多個關鍵字 乙個文字按指定字元分割成多個文字

2021-10-14 19:46:16 字數 1424 閱讀 4258

源自:快學python

今天師兄扔給我乙個txt,說:「來,小郭,你把這個文字處理一下,按照指定字元分割成多個文字。」這下可難倒我了,不過好在功夫不負有心人,幾經周折之後把它完成了。

先來看一下處理前的文字

處理後的文字

每個文字中的內容格式如下:

接下來詳細介紹一下處理過程

inputfile = input('input sourcfile:') ##輸入原始檔,如a.txt

fp = open(inputfile, 'r',encoding="utf-8")

number =    #用來存放指定分割字元所在行數

linenumber = 1

keyword = input('slice keyword:') ##輸入你要切分的關鍵字

outfilename = input('outfilename:')##輸出檔名,如out.txt則寫out即可,後續輸出的檔案是out0.txt,out1.txt...

針對文字的中用到的search函式測試結果如下:

for i in range(0,len(number)-1):

start = number[i]

print(start)

end = number[i+1]

print(end)

destlines = linecache.getlines(inputfile)[start+1:end] #將行號為start+1到end-1的檔案內容擷取出來

fp_w = open(outfilename + str(i)+'.txt','w',encoding="utf-8") #將截取出的內容儲存在輸出檔案中

for key in destlines:

fp_w.write(key)

fp_w.close()

在編寫**的過程中文字編碼格式老報錯,格式費了半天勁才搞懂是怎麼回事,記得文字txt的編碼格式是utf-8才能被順利讀取。文字的切分在nlp中資料預處理模組經常會用到,希望這篇文章對你有所幫助!加油,奧里給!

Linux grep 匹配多個關鍵字

grep 命令非常常用,經常用於匹配文字字元。一般情況下,grep 命令只能匹配乙個關鍵字,怎麼實現匹配多個關鍵字呢?下面看幾種情況 1 grep 字串 這是最普通的使用方式 匹配檔案中包含 manpath 的那一行 cat manpath.config grep manpath 2 grep v ...

oracle 實現多欄位匹配乙個關鍵字查詢語句

oracle 實現多欄位匹配乙個關鍵字查詢語句 有兩種方法 經測試,10g中不能用,11g才行 第一種.select from table where 欄位名1 欄位名2 like keyvalue 第二種 1 如果是兩個字段的話 select from table where concat 欄位名...

oracle 實現多欄位匹配乙個關鍵字查詢語句

oracle 實現多欄位匹配乙個關鍵字查詢語句 有兩種方法 經測試,10g中不能用,11g才行 第一種.select from table where 欄位名1 欄位名2 like keyvalue 第二種 1 如果是兩個字段的話 select from table where concat 欄位名...