从python中的字符串中获取特定单词

时间:2015-06-25 21:49:09

标签: python

我想从数据文件中提取一些信息。以下是我在数据文件中的格式:

44 2.463181s> (G) GET_NBI: 0x00002aaa ecc00e90 <- (4,0x00002aab 4c000c00) (256 bytes)

从这一行开始,我想提取256,这是最后一个数字,4是

中的第一个数字
(4,0x00002aab 4c000c00)

请您推荐一些对我的案例有用的功能吗?

2 个答案:

答案 0 :(得分:3)

您应该使用str.split()

它的作用是在每个有空格的地方拆分字符串,所以你会得到一个字符串列表,如下所示:

n = '44 2.463181s> (G) GET_NBI: 0x00002aaa ecc00e90 <- (4,0x00002aab 4c000c00) (256 bytes)'
o = n.split() 
print o

输出:

['44', '2.463181s>', '(G)', 'GET_NBI:', '0x00002aaa', 'ecc00e90', '<-', '(4,0x00002aab', '4c000c00)', '(256', 'bytes)']

然后简单地得到倒数第二个索引,如o[-2] -> '(256'

删除额外的括号:'(256'[1:] -> '256',如果您愿意,请将其转换为整数。 int('256') -> 256

答案 1 :(得分:2)

你也可以使用正则表达式,在这种情况下可能会更清楚。

import re

txt = "44 2.463181s> (G) GET_NBI: 0x00002aaa ecc00e90 <- (4,0x00002aab 4c000c00) (256 bytes)"

results = re.findall(r"\((\d+)", txt)
# ["4", "256"]