gpt4 book ai didi

python - 如何将字符串拆分为字典并返回特定的字典值?

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:43 25 4
gpt4 key购买 nike

这里对 Python 非常陌生。

我有一个 python 脚本,它评估数据契约的每一行,并根据一组标准提取某些值。我需要修改脚本,现在还可以从 DataMember 行中提取名称值。但是,我在使新的 ExtractDataMemberName 函数正常工作时遇到问题。

首先,我有一个函数,它使用此 for 语句迭代文件的每一行:

for line in file:
if IsDataMemberAttribute(line):
name = ExtractDataMemberName(line)
elif ...

ExtractDataMemberName(line) 函数中,我需要从字符串返回 Name 值,如下面所示的示例输入行。请注意,DataMember 行中属性的数量和顺序可能会有所不同。

示例输入:

"[DataMember(Name = "version", EmitDefaultValue = false, Order = 5)]"

预期输出:

version

我尝试了多种方法,包括尝试 lstrip [DataMember(" and rstrip )],然后尝试将生成的字符串拆分为字典,以便我可以找到 Name 值,但我无法让它工作。

任何人都可以推荐从这样的字符串中提取名称值的最佳方法吗?

最佳答案

使用 split 有点难看:

s = '[DataMember(Name = "version", EmitDefaultValue = false, Order = 5)]'

print(s.split("Name =")[1].split(",")[0].strip()[1:-1])
version

或者使用re :

import re

print(re.findall("Name\s+=\s+\"(.*?)\",",s)[0])
version

关于python - 如何将字符串拆分为字典并返回特定的字典值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com