我從日志 txt 檔案中捕獲了一個長字串,其序列如下:
526136|20190403164654| 3 |06010003530075508541|1|8801851088890|
有什么方法可以捕獲第三個欄位,即使用正則運算式從每行中獲取的“3”值?我知道我可以使用 findall 函式搜索所有數值,然后捕獲串列中的第三個元素。有沒有其他更高效、更簡單的編碼方法?謝謝大家
uj5u.com熱心網友回復:
您不需要正則運算式,您只需.split()找到第 N 個元素!
>>> s = "526136|20190403164654|3|06010003530075508541|1|8801851088890|"
>>> s.split("|")[2]
'3'
uj5u.com熱心網友回復:
import re
text = "526136|20190403164654|3|06010003530075508541|1|8801851088890"
pattern = r"\|\d\|"
new_text = re.search(pattern,text)
print(new_text)
#or
new_text = text.split("|")
print(new_text[2])
uj5u.com熱心網友回復:
試試這個:
>>> a = """1|2|3|4|5|
... 6|7|8|9|10|
... 11|12|13|14|15|
... 16|17|18|19|20|"""
>>> re.findall(r'^.*?\|.*?\|([\d]*?)\|', a, 10)
['3', '8', '13', '18']
uj5u.com熱心網友回復:
import re
ptrn = re.compile(r"\|")
s = "526136|20190403164654|3|06010003530075508541|1|8801851088890|"
number = re.split(ptrn, s)[2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410144.html
標籤:
