Python-将字符插入字符串

时间:2012-12-01 01:11:45

标签: python string

我认为这应该相对简单,但我无法弄清楚。我有一个表示坐标+27.5916+086.5640的字符串,我需要在经度和纬度之间加一个逗号,所以我得到+27.5916,+086.5640

我正在浏览API,但我似乎无法找到适合自己的东西。

哦,我必须使用Python 2.7.3,因为我编写的程序不支持Python 3.X。

4 个答案:

答案 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'

进一步阅读: