python - 从变量字符串中提取坐标

时间:2011-02-25 22:41:28

标签: python

我有一个像这样的字符串的纬度和经度:

my_string ='(31.251, -98.877)'

我想用Python从上面的字符串中提取坐标。

问题在于,有时字符串的长度可变,因此有时可能看起来像(31.25134, -98.877)(31.25134, -98.877435)

因此,如果我执行my_string[9:15]之类的操作来提取最后一个数字(经度),如果第一个数字(纬度)更长,我也会捕获')'并且这不好。

知道如何从该字符串中正确提取这些坐标吗? 谢谢!

3 个答案:

答案 0 :(得分:12)

>>> ast.literal_eval('(31.251, -98.877)')
(31.251, -98.877)

答案 1 :(得分:9)

这个怎么样:

mystr = '(31.251, -98.877)'

lat, lng = map(float, mystr.strip('()').split(','))

应该在不考虑值的长度的情况下工作。

答案 2 :(得分:2)

(x, y) = (float(x) for x in my_string[1:-1].split(","))