gpt4 book ai didi

python - 在 Python 中从字符串中提取字段和值

转载 作者:行者123 更新时间:2023-11-28 22:35:06 25 4
gpt4 key购买 nike

我正在尝试提取字段名称和值。从包含如下字段和值的字符串中:

/location=(7966, 8580, 1) /station=NY /comment=Protein RadB n=1 Tax=M (SB / ATCC) RepID=A6USB2_METV
  • 每个字符串可以包含不同数量的字段

  • 字段名称将始终包含在“/”和“=”之间

  • 值可以包含“/”和空格,但不能包含“=”

预期的结果是这样的:

['location','(7966, 8580, 1)','station','NY','comment','Protein RadB n=1 Tax=M (SB / ATCC) RepID=A6USB2_METV']

到目前为止,我已经能够使用以下方法提取字段名称:

>> re.findall(r"\/([a-z]*?)\=",string)
['location', 'station', 'comment']

而且我尝试使用否定 ?! 但没有成功。

提前致谢!

最佳答案

您可以使用 re.split()首先拆分“键=值”对,然后是常规 str.split()按第一次出现的 = 拆分:

>>> dict(item.split("=", 1) for item in re.split(r"\s*/(?=[a-z]*?\=)", s)[1:])
{
'comment': 'Protein RadB n=1 Tax=M (SB / ATCC) RepID=A6USB2_METV',
'station': 'NY',
'location': '(7966, 8580, 1)'
}

关于python - 在 Python 中从字符串中提取字段和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38461751/

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