Python Shlex用括号拆分

2024-05-15 22:14:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将一系列字符串分成3个由空格表示的组成部分。这些字符串有时包含子列表,但总是作为字符串的最后一个组件。在

我以前用Shlex来实现这一点非常成功,但是我没有得到想要的结果,因为我最近的子列表包含了它们自己的空格,这似乎让Shlex失去了作用。在

有没有比Shlex更好地执行任务的替代方案?在

例如:

'BREAKFAST IN ["Rolled Oats","Cornflakes","French Toast"]'

以及

^{pr2}$

它应该成为如下列表:

['BREAKFAST','IN', '["Rolled Oats","Cornflakes","French Toast"]']

以及

['COPIES_FOR_EXTERNAL','>','"0"']

Tags: 字符串in列表方案组件空格oatscopies
1条回答
网友
1楼 · 发布于 2024-05-15 22:14:13

由于您知道组件的数量,并且子列表始终是最后一个元素,因此可以将^{}maxsplit参数一起使用:

s1 = 'BREAKFAST IN ["Rolled Oats","Cornflakes","French Toast"]'
s2 = 'COPIES_FOR_EXTERNAL > "0"'

print s1.split(None, 2) # ['BREAKFAST', 'IN', '["Rolled Oats","Cornflakes","French Toast"]']
print s2.split(None, 2) # ['COPIES_FOR_EXTERNAL', '>', '"0"']

相关问题 更多 >