0

我有一个包含以下行的文件something.something(hexvalue1,hexvalue2)

我正在尝试将这些十六进制值转换为二进制。根据我的研究,我发现我必须在每一行中搜索十六进制值,然后将它们转换为二进制。我不确定如何在字符串中搜索包含其他变量的十六进制值。注意:所有行的格式相同。

当我做 :

for line in file:
    string = line
    string.split('(')

不会在 '('

4

1 回答 1

2

在 python 中,所有字符串方法都返回新对象(它们必须返回,因为字符串是不可变类型)。 str.split返回一个list。所以要解析你的字符串,它会是这样的:

for line in file:
    left,right = line.split('(',1)
    hexvalues = right.split(')')[0]
    hex1,hex2 = hexvalues.split(',')

对于那些更倾向于正则表达式的人:

import re
>>> re.findall(r'\(([^)]+)',"this.is(0xffaabb,0x112214)")
['0xffaabb,0x112214']
于 2012-11-27T01:54:46.203 回答