同封の内容を取得したい。分割では、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\']
助けてください。ありがとう。
入力の可能なバリエーションについてさらに説明する必要があると思いますが、このコードは、あなたが言及した特定のケースで機能します。
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。
パターンで分割できるre モジュールre.split()
から使用できます。のようなものが動作するはずです。filter(None,re.split(r'\\x0\d',s))