我有以下代码:
latlonginput = 'Latitude=28.0358214, Longitude=-82.59970229999999, Accuracy=4232m'
import re
try:
#latlonginput = input['latlong']
geo_lat = format(re.split(r'(Latitude=|,)', latlonginput)[2])
geo_long = format(re.split(r'(Longitude=|,)', latlonginput)[2])
accuracy = format(re.split(r'(Accuracy=)', latlonginput)[2])
geo_coord = geo_lat + ',' + geo_long
latlong = 'Detected Lat/Long: '+ geo_coord + '\n'
latlong = latlong + 'Accuracy: ' + accuracy + '\n'
latlong = latlong + 'Maps: placeholder'
except:
latlong = None
return {'lat_long': latlong }
在这种情况下,经度为负值时,它会忽略负值。例如,结果如下:
Detected Lat/Long: 28.0358214,
Accuracy: 4232m
Maps: placeholder
我需要考虑纬度或经度的负片。我怎样才能适应这样做?你知道吗
谢谢你, 诺布
可以使用带有可选匹配的正则表达式来检查所需数字前面的负号。你知道吗
另外,如果这是字符串的格式,则不需要使用
re.split
,只需匹配即可。你知道吗如果这些数字是字符串中唯一的数字,则可以简单地使用:
如果要使其更加健壮,可以匹配整个格式:
输出:
您只需将第二行更改为(索引为4而不是2)
我更喜欢@chepner的答案来节省处理时间。你知道吗
输出
正则表达式在这方面做得太过了;只需首先拆分
", "
上的字符串,然后拆分"="
上的每个元素:然后根据需要使用字典。你知道吗
相关问题 更多 >
编程相关推荐