作者clara830 (...)
看板Python
标题Re: [问题] 请问有关撷取资料的问题?
时间Thu Jun 19 21:59:39 2008
不好意思再请教一下...
就是我现在想用re.findall( ) 的方式写看看能不能撷取出我要的东西
可是问题来了....这个指令是不是只能用在string上
而不能用在list?
因为他会出现像这样的错误讯息:
File "C:\Python25\lib\re.py", line 175, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
所以我这个动作没有办法用re.findall( )写吗? @@
※ 引述《gasolin (小g)》之铭言:
: ※ 引述《clara830 (...)》之铭言:
: : 不好意思再请教一个进阶的问题....
: : 假设我现在有一个list是这样:
: : text = ['ABCD:from XXX X 12(V) XXX', 'EF:XXX XX', 'GH: from XXX XX 345(V) XX']
: : 比如说我现在想要让程式判断 :
: : 如果里面有包含'from'的话
: : 就把其中冒号前面的字串找出来 以及找出其中(V)前面的字串
: : 以这个例子来说的话 也就是希望撷取出 [(ABCD, 12), (GH, 345)]
: : 好像有点复杂.....不知道这有办法写出来吗?
: : 现在好像还想不到怎麽解决
: 跟前面的回答基本一样
: store = []
: text = [....]
: for i in text:
: if 'from' in i:
: seg = i.split(':')
: first_param = seg[0]
: second_param = seg[1].split('(V)')[0]
: store.append((first_param, second_param))
: print store
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.54.69
1F:→ liangjr:是 要对list里面每个string分别跑re.search之类的 06/20 15:29
2F:推 huggie:一个个loop? 06/20 21:33