我有一個包含大量資料的 txt 檔案,每行有 2 條我需要收集的資料,這些資料用連字符分隔。
例子:
Deleted User#0000 - ['000000000003959552', '000000000003959553', '000000000003959554']
我有一個函式可以在文本檔案中搜索連字符右側的數字之一。因此,如果我搜索:000000000003959553 - 我想回傳:Deleted User#0000 并將其分配給一個 var。
這些值會改變,但它們總是由連字符或我想設定為的任何其他識別符號分隔。
我能做些什么來實作這一目標?
uj5u.com熱心網友回復:
我們可以嘗試將每一行的右側決議為一個串列,并迭代查看它是否包含我們正在搜索的值。如果是,我們回傳左側。
from ast import literal_eval
def search_for_value(value):
for line in file:
left, right = line.split(' - ')
for id in literal_eval(right):
if id == value:
return left
uj5u.com熱心網友回復:
您可以匹配正則運算式
(?m)^. (?= - \[.*'000000000003959553')
演示。
(?m)設定多行標志,導致^匹配行的開頭,而不是字串的開頭(并$匹配行的結尾,而不是字串的結尾)。
^. 匹配一行開頭的一個或多個字符。
(?= - \[.*'000000000003959553')是一種正向前瞻,要求匹配后跟一個或多個空格、連字符、一個或多個空格[、零個或多個字符、一個單引號,000000000003959553最后是另一個單引號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/396637.html
