0

我想获得随附的内容。拆分只允许我按一个分隔符拆分。

输入:

\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')

如果分隔符有很多变化,我喜欢 root 的建议来查看 re.split() 方法:http ://docs.python.org/2/library/re.html#re.split 。

于 2013-01-09T07:27:51.110 回答
0

您可以re.split()从允许您拆分模式的re 模块中使用。类似的东西filter(None,re.split(r'\\x0\d',s))应该可以工作。

于 2013-01-09T06:51:01.467 回答