我有一個巨大的日誌文件,我必須從中提取特定的模式或字節數組。 每一行看起來是這樣的:從文件中提取子字符串
<<< 10:39:01.296 [0x01|0x02|0x04|0x05] [0x00|0xDE|0xAD] (Value: Check)
從這一行我已經提取字節寫0xDE和寫0xAD。
日誌模式是通常的形式(只XX和YY是變體):
<<< 10:39:01.296 [0x01|0x02|0x04|0x05] [0x00|0xXX|0xYY] (Value: Check)
要嘗試,我有這個圖案爲一個字符串,下面的代碼檢查。不過,我覺得必須有比這更好的方式。你能給些建議麼?
input= """<<< 10:39:01.296 [0x01|0x02|0x04|0x05] [0x00|0xDE|0xAD] (Value: Check) """
#extract 0xDE and 0xAD and join them to read DEAD
c = input.find("]")
d = input.find('[', c)
e = input.find("]", d)
mystr = input[d+6:e]
x,y = mystr.split('|0x', 1)
print x
print y
numStr = ''.join(mystr.split('|0x', 1))
print numStr
#val = int(numStr,16)
#print val:
問題是不清楚的。它將永遠是0xDE和0xAD。 。你想提取什麼,或者你需要得到最後兩個字節? – csharpcoder