我有这样的字符串
LASTSCAN:C:\Users\Bob\Scripts\VisualizeData\doc\placeholder.PNG:1557883221.11
字符串的格式为[Command][File path][Timestamp]
。当前它由冒号分隔,但文件路径也有一个冒号。有时,字符串的格式可能会更改,但始终用冒号分隔。例如:
SCAN:2000:25:-12.5:12.5:C:\Users\Potato\potato.PNG:1557884143.93
该字符串的签名为 [Command][Frames][Speed][Start][Stop][File path][Timestamp]
我如何分割输入字符串以获得这样的输出?
['LASTSCAN', 'C:\Users\Bob\Scripts\VisualizeData\doc\placeholder.PNG', '1557883221.11']
第二个示例的预期输出
['SCAN', '2000', '25', '-12.5', '12.5', 'C:\Users\Potato\potato.PNG', '1557884143.93']
尝试分割正则表达式模式:(?!\\)
:
input = "LASTSCAN:C:\Users\Bob\Scripts\VisualizeData\doc\placeholder.PNG:1557883221.11"
output = re.split(r':(?!\\)', input)
print(output)
['LASTSCAN', 'C:\\Users\\Bob\\Scripts\\VisualizeData\\doc\\placeholder.PNG', '1557883221.11']
逻辑是在不立即跟有路径分隔符的任何冒号上进行分割。这样可以避免:
文件路径中的成为分割点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句