如果我有一個 Windows 檔案路徑(字串)串列,我將如何搜索在檔案路徑中具有連續 10 位數字的所有串列物件——以添加到串列中?
有沒有辦法定義一系列通配符并搜索或應用過濾器?
例子:
從這個串列:
('C:\Users\ Documents\1H_1P_42497372610000\Kirkbride A1P_42497586550009\Well History.tif',
'C:\Users\ Documents\TEMPORARY\WISE\30497372610000\Kirkbride _42478972610009\ Drilling\Proposals.pdf',
'C:\Users\ Documents\Well History\Drilling\Proposals\Cement\Pilot hole KO plug\ Test Results.txt')
這將是我的新串列(或資料框):
('C:\Users\ Documents\1H_1P_42497372610000\Kirkbride A1P_42497586550009\Well History.tif',
'C:\Users\ Documents\TEMPORARY\WISE\30497372610000\Kirkbride _42478972610009\ Drilling\Proposals.pdf')
我嘗試使用 glob() 函式進行了幾次嘗試,并嘗試將過濾器與條件拼湊在一起,其中我定義了一個變數'x' = ('1', '2', '3' . . .)并過濾'x' 'x' 'x' 'x' 'x' 'x' 'x' 'x' 'x' 'x'了未發生的專案。我只是無法將任何有意義的東西拼湊在一起,或者沒有搜索整數(這是行不通的)。
幫我!謝謝,麻煩您了!
uj5u.com熱心網友回復:
您可以使用正則運算式查找具有 10 個連續數字的字串:
In [63]: [i for i in strings if len(re.findall('\d{10}',re.escape(i)))>0]
Out[63]:
['C:\\Users\\ Documents\\1H_1P_42497372610000\\Kirkbride A1P_42497586550009\\Well History.tif',
'C:\\Users\\ Documents\\TEMPORARY\\WISE\\30497372610000\\Kirkbride _42478972610009\\ Drilling\\Proposals.pdf']
您可能不需要re.escape呼叫,由于轉義字符,我不得不在 linux 上呼叫,這解釋了雙反斜杠 '\\'。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/344579.html
上一篇:Maven沒有運行JUnit測驗
下一篇:以科學記數法列出numpy陣列
