如何仅获取字符串中包含的列表中的第一个元素?

社会演员多 python 188

原文标题How to get only first element in list contained in string?

我有一个很长的字符串。此字符串包含一个列表,例如这样的示例

'[{"ex1": 0, "ex2":1}, {"ex3": 2, "ex4":3}]'

我可以使用json5.loads,然后在列表中使用[0]获取第一个元素,但是json5.loads对于更长的字符串需要很长时间。有没有办法在不加载整个列表的情况下只获取第一个元素? (在这个例子中是{"ex1": 0, "ex2":1}。用逗号分隔对我不起作用,因为列表中的字典中包含逗号。谢谢。

原文链接:https://stackoverflow.com//questions/71919000/how-to-get-only-first-element-in-list-contained-in-string

回复

我来回复
  • lumalot的头像
    lumalot 评论

    如果它肯定是那种格式,你可以只搜索开始和结束括号。

    mystr = '[{"ex1": 0, "ex2":1}, {"ex3": 2, "ex4":3}]'
    first = mystr.index("{")
    last = mystr.index("}")
    extracted = mystr[first:last+1]
    print(extracted)
    

    这打印'{“ex1”:0,“ex2”:1}’

    2年前 0条评论