0

同封の内容を取得したい。分割では、1 つの区切り記号でのみ分割できます。

入力:

\x02\xxx\xxx\xxx\xxx\x03\x02\xxx\xxx\xxx\xxx\x03\x02\xxx\xxx\xxx\xxx\x03

必要な出力:

['\xxx\xxx\xxx\xxx\','\xxx\xxx\xxx\xxx\','\xxx\xxx\xxx\xxx\']

助けてください。ありがとう。

4

2 に答える 2

1

入力の可能なバリエーションについてさらに説明する必要があると思いますが、このコードは、あなたが言及した特定のケースで機能します。

line = '\x02\xxx\xxx\xxx\x03\x02\xxx\xxx\xxx\x03\x02\xxx\xxx\xxx\x03'

if line.startswith('\x02'):
    line = line[4:]
if line.endswith('\x03'):
    line = line[:-4]
chunks = line.split('\x03\x02')

print chunks

>>> ('\xxx\xxx\xxx', '\xxx\xxx\xxx', '\xxx\xxx\xxx')

すべての行が '\x02' で始まり '\x03' で終わる場合、次の単純な方法でうまくいきます。

line = line[4:-4]
chunks = line.split('\x03\x02')

区切り文字に多くのバリエーションがある場合、re.split() メソッドを調べるという root の提案が好きです: http://docs.python.org/2/library/re.html#re.split

于 2013-01-09T07:27:51.110 に答える
0

パターンで分割できるre モジュールre.split()から使用できます。のようなものが動作するはずです。filter(None,re.split(r'\\x0\d',s))

于 2013-01-09T06:51:01.467 に答える