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

看板Python作者 (Crooner)時間7年前 (2016/12/06 22:12), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
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) 都只能得到一位數的數字.... 到底是出在什麼問題啊啊阿 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.106.114 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1481033525.A.130.html

12/06 23:06, , 1F
re.findall('[0-9]+', '123 45')是['123', '45']啊
12/06 23:06, 1F

12/06 23:07, , 2F
你要不要先把line印出來看是什麼東西
12/06 23:07, 2F

12/07 00:16, , 3F
line應該是一個字一個字,不是一行。如果要一行一行要寫
12/07 00:16, 3F

12/07 00:16, , 4F
f.readlines()
12/07 00:16, 4F

12/07 20:51, , 5F
data是一個字串,你去巡行字串自然是得到字元
12/07 20:51, 5F

12/07 21:22, , 6F
謝謝各位大大指點 讓小的 我再試試看
12/07 21:22, 6F
文章代碼(AID): #1OHiSr4m (Python)