python - 将嵌套列表的字符串表示拆分为子列表的字符串表示

标签 python regex split

我有以下内容:

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 的分隔符

>>> 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]']
  1. \[ 匹配 [
  2. [^\]]* 匹配除 ] 之外的任何内容
  3. \] 匹配 ]

关于python - 将嵌套列表的字符串表示拆分为子列表的字符串表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814186/

相关文章:

Python - 带有字母数字的人类数字,但在 pyQt 和 __lt__ 运算符中

java - 在java中拆分字符串时出错

Python在拆分中跳过连续的分隔符

c++ - 在C++中获取2个空格之间的字符串

python - 从字符串中获取二进制数据

python - 数据均值/方差的变化会影响svm分类器吗?

python - 谷歌数据泄露防护 : "ValueError: Protocol message Value has no "stringValue"field.“

regex - 如何匹配单引号字符串中的双反斜杠?

regex - 从 PIG 中的同一行提取多个正则表达式匹配

python - Flask:如何在 session 中存储凭据并检索它们?