我认为这应该相对简单,但我无法弄清楚。我有一个表示坐标+27.5916+086.5640
的字符串,我需要在经度和纬度之间加一个逗号,所以我得到+27.5916,+086.5640
。
我正在浏览API,但我似乎无法找到适合自己的东西。
哦,我必须使用Python 2.7.3,因为我编写的程序不支持Python 3.X。
答案 0 :(得分:9)
如果您的坐标是c
,那么这将有效。但请注意,这不适用于负值。你还必须处理否定数据吗?
",+".join(c.rsplit("+", 1))
也可以处理否定词。
import re
parts = re.split("([\+\-])", c)
parts.insert(3, ',')
print "".join(parts[1:])
<强>输出强>
+27.5916,+086.5640'
负面消息:
>>> c = "+27.5916-086.5640"
>>> parts = re.split("([\+\-])", c)
>>> parts.insert(3, ',')
>>> "".join(parts[1:])
'+27.5916,-086.5640'
答案 1 :(得分:4)
如果逗号已存在,则此方法将处理逗号。
str = '-27.5916-086.5640'
import re
",".join(re.findall('([\+-]\d+\.\d+)',str))
'-27.5916,-086.5640'
答案 2 :(得分:2)
由于第二个组件似乎用前导零和固定小数位数格式化,所以这个怎么样:
<div ng-app="myApp">
<div ng-controller="myCtrl">
<table cellspacing="0" cellpadding="5" border="2">
<tr>
<th ng-click=" columnToOrderBy ='startDate'; descending = !descending">
Date
</th>
<th ng-click=" columnToOrderBy ='Location'; descending = !descending">
Location
</th>
</tr>
<tr ng-repeat="item in data | orderBy:columnToOrderBy:descending">
<td><div ng-bind="item.startDate"> </div></td>
<td><div ng-bind="item.flowRouteName"> </div></td>
</tr>
</table>
</div>
</div>
答案 3 :(得分:1)
听起来像正则表达式的工作:
Python 2.7.3 (default, Aug 27 2012, 21:19:01)
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.57))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> coords = '+27.5916+086.5640'
>>> lat, long = re.findall('[+-]\d+\.\d+', coords)
>>> ','.join((lat, long))
'+27.5916,+086.5640'