使用python提取纬度和经度的正则表达式



我需要在python中使用正则表达式提取以下格式的纬度。

(-17.23465,4.6883(

我需要一些人来指导我,因为我是这个话题的新手。

谢谢

最简单的

正则表达式是 (([^,]*),([^)]*))

最清晰的正则表达式解决方案是:

> import re
> match = re.match('^((?P<lat>-?d*(.d+)),(?P<long>-?d*(.d+)))$',
                   '(-17,23465,4.6883)')
> float(match.group('lat'))
-17.23465
> float(match.group('long'))
4.6883

仅使用字符串操作的最简单解决方案是:

> latlong = '(-17,23465,4.6883)'
> lat, long = [float(x) for x in latlong[1:-1].split(',')]

要在实践中了解有关正则表达式的更多信息,请使用在线正则表达式测试器(设置 python 风格(。要了解有关 Python 中正则表达式的更多信息,请阅读正则表达式 HOWTO。

假设您想要分别显示纬度和经度,并且您提供的值是一个字符串,您可以执行以下操作:

val = '(-17.23465,4.6883)'
val = val.replace('(', '').replace(')', '').split(',')
lat = val[0]
lon = val[1]

输出:

纬度: -17.23465

伦敦: 4.6883

最新更新