如何从python中返回的XML字符串中解析出一个数字?

问题描述 投票:0回答:2

我有以下字符串:

{\"Id\":\"135\",\"Type\":0}

Id字段中的数字会有所不同,但始终是一个不带逗号分隔符的整数。考虑到它是字符串数据类型而不是真正的“ XML”,我不确定如何从该字符串中获取该值。我在玩replace()函数,但是特殊字符使它变得比看起来所需的更加复杂。

是否可以将其转换为XML或可以直接引用Id值的方式?

python-3.7
2个回答
1
投票

也许使用正则表达式,例如

import re

txt = "{\"Id\":\"135\",\"Type\":0}"
x = re.search('"Id":"([0-9]+)"', txt)
if x:
    print(x.group(1))

给予

135

这里假定ID是数字,并且至少由一位数字组成。


0
投票

您所问的非正则表达式答案

[\"是python中的转义序列。

因此,如果{\"Id\":\"135\",\"Type\":0}是原始字符串,并且将其放入类似python的变量中,例如

a = '{\"Id\":\"135\",\"Type\":0}'

给予

>>> a
'{"Id":"135","Type":0}'

OR

如果上面的字符串是具有\"的python字符串,请执行a.replace("\\",""),它将为您提供不含\的字符串。

现在只需将此字符串加载到字典和访问元素Id中,如下所示。

import json
d = json.loads(a)
d['Id']

输出:

135
© www.soinside.com 2019 - 2024. All rights reserved.