代码之家  ›  专栏  ›  技术社区  ›  STORM

如何在Python中删除字符串的第一部分和最后一部分?

  •  0
  • STORM  · 技术社区  · 6 年前

    我如何从这样一个字符串(json)中删除之前的所有内容,包括 第一 [ 以及背后的一切,包括 最后的 ] 用Python?

    {
        "Customers": [
            {
               "cID": "w2-502952",
               "soldToId": "34124"
            },
            ...
            ...
        ],
            "status": {
            "success": true,
            "message": "Customers: 560",
            "ErrorCode": ""
        }
    }
    

    我想至少

    {
    "cID" : "w2-502952",
    "soldToId" : "34124",
    }
    ...
    ...
    
    4 回复  |  直到 6 年前
        1
  •  4
  •   Daniel Roseman    6 年前

    字符串操作是 这样做的方法。您应该将JSON解析为Python,并使用正常的数据结构访问来提取相关数据。

    obj = json.loads(data)
    relevant_data = obj["Customers"]
    
        2
  •  1
  •   Dhirendra    6 年前

    除了@Daniel Rosman answer,如果你想 list JSON .

    result = []
    obj = json.loads(data)
    
    for value in obj.values():
        if isinstance(value, list):
            result.append(*value)
    
        3
  •  0
  •   J0hn    6 年前

    必须 使用字符串拆分,您可以尝试 .find()

    string = #however you are loading this json text into a string
    
    start = string.find('[')
    end = string.find(']')
    customers = string[start:end]
    print(customers)
    

    输出将是 [ ]

        4
  •  0
  •   Woody1193 Nimmi Rashinika    6 年前

    如果您真的想通过字符串操作(我不推荐这样做),可以这样做:

    start = s.find('[') + 1
    finish = s.find(']')
    inner = s[start : finish]