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

How do I parse out a number from this returned XML string in python?

我有以下字符串:

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

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

有没有办法将其转换为 XML 或我可以直接引用 Id 值的东西?

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

import re

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

给予

135

这里假设id是数字并且至少由一位数字组成。

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

\" 是 python.

中的转义序列

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

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

给予

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

如果上面的字符串是 python 字符串,其中 \" 已经被转义,那么执行 a.replace("\","") 将为您提供没有 \ 的字符串。

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

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

输出:

135