我想获得随附的内容。斯普利特只允许我用一个分隔符分割。获得随附的内容
输入:
\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\']
请帮助。谢谢。
我想获得随附的内容。斯普利特只允许我用一个分隔符分割。获得随附的内容
输入:
\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\']
请帮助。谢谢。
您可以使用re module中的re.split()
,允许您在模式上进行拆分。像filter(None,re.split(r'\\x0\d',s))
应该工作。
我怀疑你需要说更多关于输入的可能变化,但是这个代码将工作你提到的具体情况:
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()方法:http://docs.python.org/2/library/re.html#re.split。
你的代码给出了:ValueError:invalid \ x escape –
对不起,应该测试一下:)如果你在字符串前添加一个'r',就像''r'\ x02 ...''那样会阻止Python上升一个ValueError。 'r'前缀告诉Python将该字符串视为“原始”字符串,并且不会将反斜杠解释为转义字符。 – scanny
'\ xxx \ xxx \ xxx \ xxx'可以包含'\ x02'或'\ x03'吗? – Tim
@Tim不,它不能。 –