作者cutekid (可愛小孩子)
看板Python
標題Re: [問題] 切字串 split
時間Wed Mar 21 15:38:52 2018
import re
s='''
=?utf-8?B?
W0lUIERhdGEgUmVxdWVzdCBTeXN0ZW1dIFRoZSBkb2N1bWVudCBpcyByZWFz?=
=?utf-8?B?
c2lnbiA+PiDoq4vkv67mraMg5aGr5ZauIOe/kuaFoywgICAgICgqKiBTZWN1?=
=?utf-8?B?
cml0eSBDKiop?=
'''
res = re.findall('=\?utf-8\?B\?(.*?)\?=',s,re.M)
print(''.join(res))
※ 引述《ctr1 (【積π】)》之銘言:
: 後來發現當內容太長時還需要換行
: =?utf-8?B?W0lUIERhdGEgUmVxdWVzdCBTeXN0ZW1dIFRoZSBkb2N1bWVudCBpcyByZWFz?=
: =?utf-8?B?c2lnbiA+PiDoq4vkv67mraMg5aGr5ZauIOe/kuaFoywgICAgICgqKiBTZWN1?=
: =?utf-8?B?cml0eSBDKiop?=
: 請問這樣要怎麼把紅色的字串起來處理比較好
: 有夠複雜的啦
: 謝謝各位前輩
: ※ 引述《ctr1 (【積π】)》之銘言:
: : 標題: [問題] 切字串 split
: : 時間: Wed Mar 21 09:17:58 2018
: : 想請問版上大大
: : 我有很多跟下方s相似的字串
: : 內容不同僅為紅色的部分
: : 若我只想取出紅色這段
: : 是否還有更好的方式
: : 以下是我取得紅色字串的方式
: : 謝謝
: : s = "b'=?utf-8?B?UmU6IOaEn+isneS/oSAgICgqKiBTZWN1cml0eSBDKiop?='"
: : x = "b'=?utf-8?B?"
: : m1 = s.split(x)[1]
: : m2 = m1.split("?='")[0]
: : print(m2)
: : --
: : 推 asd456fgh778: 為什麼不直接用問號切 03/21 09:19
: : 推 asd456fgh778: 另外一個是直接用索引值來抓字串就好了吧 不需要切 03/21 09:31
: : → Conjuror: m2=x.split("?")[3] 03/21 10:16
: : 推 CaptainH: s[:len(x)] 其他人到底在想什麼 03/21 11:15
: : → CaptainH: 手機碼字打錯了 應該是 s[len(x):] 03/21 11:16
: : → asd456fgh778: 樓上你錯了 尾巴沒去掉 03/21 11:45
: : → Jeffrey11061: 只用問號切感覺有點危險 畢竟不知道中間的規則 03/21 12:38
: : 推 asd456fgh778: 的確實是這樣(我錯了),另外一種比較安全 03/21 12:49
: : → asd456fgh778: 前面多字 抱歉 03/21 12:49
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.56.126
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1521617935.A.DC9.html
※ 編輯: cutekid (111.246.56.126), 03/21/2018 15:42:45
推 neil987: 推re 03/21 16:04
推 ctr1: 非常感謝!! 03/21 16:06
推 Panthalassa: 好酷,計算理論的實際用法XD 03/21 16:27
推 aszx4510: 終於有人用regex 03/21 17:34
推 s860134: 這才常用 03/21 19:42
→ f496328mm: 正規才是常用的方法 03/21 21:36
→ f496328mm: 不過大大的寫法也蠻厲害的 03/21 21:36
推 coeric: 推...我也覺得是應該要用re阿!(對不起,我只會re) 03/21 23:30
推 art1: 正規表示法真的很值得花時間去學 03/21 23:52
推 ECZEMA: 推re 03/22 07:29