2016-09-19 191 views
0

我使用Jupyter筆記本中的python從Web中抽出一些數據。我已經拉下了數據,解析並創建了數據框。我需要從數據框中的字符串中提取數字。利用此正則表達式我做到這一點:獲取re.search的匹配值python

for note in df["person_notes"]: 
    print(re.search(r'\d+', note)) 

和結果如下:

<_sre.SRE_Match object; span=(53, 55), match='89'> 

我怎樣才能得到公正的比賽號碼;在這一行將是89.我試圖將整行轉換爲str()replace(),但並非所有行都有span=(number, number) iqual。先謝謝你!

回答

1

您可以使用返回的匹配對象start()end()方法來獲取字符串中的正確位置:

for note in df["person_notes"]: 
    match = re.search(r'\d+', note) 
    if match: 
     print(note[match.start():match.end()]) 
    else: 
     # no match found ...