0

次の行を含むファイルがありますsomething.something(hexvalue1,hexvalue2)

これらの 16 進数値を 2 進数に変換しようとしています。私が調査したことから、各行で 16 進数値を検索し、それらをバイナリに変換する必要があることがわかりました。他の変数を含む 16 進値の文字列を検索する方法がわかりません。注 : すべての行は同じ形式です。

私がする時 :

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 に答える