[問題] 正規表達式 TXT抓取數字

作者: a79621234 (Crooner)   2016-12-06 22:12:02
Dear All,
小弟是個現在在coursera上自學python 的新手,卡了一題想請教
題目是想從TXT檔中 撈出數字
我現在遇到的問題是 假設數字是 123
我撈出來的數字會是 ['1' '2' '3'] 而非['123']
以下是我的code 請大大幫忙 萬分感謝
import re
with open('regex_sum_334410.txt','r') as infile:
data = infile.read()
final =[]
for line in data:
y=re.findall('([0-9]+)',line)
final = final +y
print(final)
不論我用 y = re.findall('([0-9]+)',line) 或是
y = re.findall(r'\b\d+\b',line)
都只能得到一位數的數字....
到底是出在什麼問題啊啊阿
作者: flarehunter (Range)   2016-12-06 23:06:00
re.findall('[0-9]+', '123 45')是['123', '45']啊你要不要先把line印出來看是什麼東西
作者: k87001042 (vv)   2016-12-07 00:16:00
line應該是一個字一個字,不是一行。如果要一行一行要寫f.readlines()
作者: s860134 (s860134)   2016-12-07 20:51:00
data是一個字串,你去巡行字串自然是得到字元
作者: a79621234 (Crooner)   2016-12-07 21:22:00
謝謝各位大大指點 讓小的 我再試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com