给出以下GPS点的字符串表示......
(40.714353, -74.005973)
如何使用Python执行字符串拆分以获取纬度和经度作为单独的标记 - 没有任何多余的字符(空格和括号)?
答案 0 :(得分:7)
您可以使用ast.literal_eval()
来解析字符串:
>>> import ast
>>> coord = "(40.714353, -74.005973)"
>>> ast.literal_eval(coord)
(40.714353000000003, -74.005972999999997)
答案 1 :(得分:6)
您不需要正则表达式:
>>> str = "(40.714353, -74.005973)"
>>> tuple(float(x) for x in str.strip('()').split(','))
(40.714353, -74.005973)
如果您想使用字符串而不是数字,请使用x.strip()
代替float(x)
。
正则表达式解决方案可能是:
>>> import re
>>> m = re.match(r"^\(([-\d.]+), ([-\d.]+)\)$", str)
>>> m.group(1)
'40.714353'
>>> m.group(2)
'-74.005973'
这使用capture groups来提取信息。
另请参阅re
documentation。