我有以下
str = '[5.955894, 45.817792], [10.49238, 45.817792], [10.49238, 47.808381], [5.955894, 47.808381]'
我想将其拆分,以便我有一个字符串数组,例如
['[5.955894, 45.817792]', '[10.49238, 45.817792]', ...]
以便对象是数组的元素。重要的是包含封闭的[和]。我到目前为止:
re.split('\D,\s\D', str)
但这给了我:
['[5.955894, 45.817792', '10.49238, 45.817792', '10.49238, 47.808381', '5.955894, 47.808381]']
并不是我真正想要的。
我更喜欢使用re.findall并指定我 想要的内容, 而不是尝试描述以下内容的分隔符re.split
re.findall
re.split
>>> s = '[5.955894, 45.817792], [10.49238, 45.817792], [10.49238, 47.808381], [5.955894, 47.808381]' >>> re.findall(r"\[[^\]]*\]",s) ['[5.955894, 45.817792]', '[10.49238, 45.817792]', '[10.49238, 47.808381]', '[5.955894, 47.808381]']
\[
[^\]]*
\]