这是python中的简单字符串操作:
string = '<longitude>-170.794865296</longitude>'
如何提取-170.794865296
?
寻找简单易行的方法。
答案 0 :(得分:6)
您可以使用标准库中的xml.etree.ElementTree
:
>>> import xml.etree.ElementTree as etree
>>> s = '<longitude>-170.794865296</longitude>'
>>> etree.fromstring(s).text
'-170.794865296'
答案 1 :(得分:2)
string.split(">")[1].split("<")[0]
无需导入任何内容
答案 2 :(得分:1)
import re
print re.findall(r'[-0-9.]+', '<longitude>-170.794865296</longitude>')
答案 3 :(得分:0)
如果您的数字都是使用'<longitude>...</longitude>'
标记格式化的,那么您可以使用字符串切片:
start = len('<longitude>')
end = -len('</longitude>')
print float('<longitude>-170.48738723</longitude>'[start:end])
答案 4 :(得分:0)
$ pip install parse
简洁地给你留下深刻印象:
>>> from parse import parse
>>> parse("<lon>{:f}</lon>", "<lon>-170.794865296</lon>").fixed[0]
-170.794865296
逐步解释
>>> from parse import parse
>>> text = '<lon>-170.794865296</lon>'
>>> templ = "<lon>{:f}</lon>"
>>> res = parse(templ, text)
>>> res
<Result (-170.794865296,) {}>
>>> res.fixed[0]
-170.794865296
>>> type(res.fixed[0])
float
为字典键指定值:
>>> parse("<lon>{pnt_lat:f}</lon>", "<lon>-170.794865296</lon>").named["pnt_lat"]
-170.794865296