如何从 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
我有以下字符串:
{\"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