看板 Python 關於我們 聯絡資訊
<font color="#00FFFF">[\xe3\x83\x97\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc\xe5\x90\x8d]</font><br>\n \t\xe7\xb6\xbe\xe9\x83\xa8<br> 請問若有一串字串是這樣子 而\xe7\xb6\xbe\xe9\x83\xa8 是不定變數,長度也不一樣不過最後一定會有<br> (其它都是固定的) 請問我要如何抓取這不定變數? ※ 編輯: elvisteal 來自: 211.74.62.213 (04/14 18:30)
uranusjr:前面有 \t, 後面有 <br>, 這有查過資料就會拆了吧... 04/14 19:21
jimmylin212:'[抓中間的所有東西也可以]' 04/14 20:26
AndCycle:這不是utf-8嗎, 先deocde不好嗎 04/14 20:29
簡單來說這只是一整個大長串中的一小段 我目前只會做到用re.search(r'\xe3\x83\xbc\xe5\x90\x8d]</font><br>' , str ) 去抓到\xe3\x83\xbc\xe5\x90\x8d]</font><br> 的所在 但我需要的值是後面 \xe7\xb6\xbe\xe9\x83\xa8 <----若要抓到這會一直變的變數要怎 麼寫?
cobrasgo:我直覺的做法是用split 04/15 00:46
cobrasgo:target.split("<br>")[0]應該是你要的 04/15 00:47
cobrasgo:不然很芭樂的用target[:len(target)-len("<br>")]也可 04/15 00:48
cobrasgo:split那個方法要是target裡會有<br>就不能這樣用 04/15 00:51
AndCycle:要芭樂的話用index/find就好了, split還會找出一堆不要的 04/15 03:26
這樣來說好了><" 它是整個網頁的其中一小串 我有沒有辦法可以用re.search( ) 去做到 一串包含到 \xe7\xb6\xbe\xe9\x83\xa8 <===此變數的值(此為長度6) (但有可能長度是2or10都不一定) 因為它是長度會變化的值....我目前看到網路上相關教學都沒有教到怎麼抓介於 中間的不固定長度的值啊.... 原本我有想說試著寫成像類似底下這樣的想法 re.search(r'\xbc\xe5\x90\x8d]</font><br>\w\w\w\w\w\w<br>' , str) 但長度不固定....整個無腦....再加上我也不知道用\w是不是對的...
Holocaust123:regex能做的不只是單純的raw string matching而已 04/15 09:43
Holocaust123:建議原PO找些教材把regex的基本功弄熟 這種問題就迎 04/15 09:45
Holocaust123:刃而解了 04/15 09:45
elvisteal:嗯嗯~~~有在找書了(感謝 04/15 12:15
出現了一個奇怪的問題了..... string = "HARD</FONT></TD>\n" 我用了string.rstrip("</FONT></TD>\n") 不是理當會剩下HARD嗎? 為什麼印出來後剩下HAR D不見了!? ※ 編輯: elvisteal 來自: 211.74.5.176 (04/15 16:24)
Holocaust123:是HAR沒錯呀 你要不要先弄清楚rstrip的作用? 04/15 17:12
elvisteal:喔喔喔!我看懂了....我是笨蛋....orz 感謝 04/15 17:20