作者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://webptt.com/cn.aspx?n=bbs/Python/M.1521617935.A.DC9.html
※ 编辑: cutekid (111.246.56.126), 03/21/2018 15:42:45
1F:推 neil987: 推re 03/21 16:04
2F:推 ctr1: 非常感谢!! 03/21 16:06
3F:推 Panthalassa: 好酷,计算理论的实际用法XD 03/21 16:27
4F:推 aszx4510: 终於有人用regex 03/21 17:34
5F:推 s860134: 这才常用 03/21 19:42
6F:→ f496328mm: 正规才是常用的方法 03/21 21:36
7F:→ f496328mm: 不过大大的写法也蛮厉害的 03/21 21:36
8F:推 coeric: 推...我也觉得是应该要用re阿!(对不起,我只会re) 03/21 23:30
9F:推 art1: 正规表示法真的很值得花时间去学 03/21 23:52
10F:推 ECZEMA: 推re 03/22 07:29