【问题标题】:Python: Replace String by IndexPython:用索引替换字符串
【发布时间】:2012-08-31 13:59:20
【问题描述】:

我在表中有一个字段,它包含以下格式的度分秒字符串值:

179-53-32

我想替换所有破折号并将其格式化为以下正确格式:

179° 53' 32"

基本上用正确的字符(度、分、秒)替换破折号并在其中包含空格。我正在考虑按索引进行替换,但我认为它不起作用:

s.replace('-', '° ')[0]
s.replace('-', '\' ')[1]

有没有办法完成我想做的事情?也许先枚举字符串然后替换?

谢谢, 迈克

【问题讨论】:

    标签: python replace indexing


    【解决方案1】:
    '179-53-32'.replace('-', '°', 1).replace('-', "'", 1)+ '"'
    

    【讨论】:

    • 结尾不应该有双引号吗?
    • 谢谢拉克什。我也测试过这个。我必须添加空格,但这也可以满足我的需要!
    【解决方案2】:

    这可能会做到:

    "%s° %s' %s\"" % s.split('-')
    

    您可能需要将对s.split 的调用封装在一个元组调用中。否则我得到一个错误。所以它变成了这样:

    "%s° %s' %s\"" % tuple(s.split('-'))
    

    【讨论】:

      【解决方案3】:

      您可以在正则表达式中使用组。它们非常有用。

      m = re.match(r"(?P<first>\d+)-(?P<sec>\d+)-(?P<third>\d+)", "179-53-32")  
      "%s° %s' %s\"" % (m.group('first'), m.group('sec'), m.group('third'))
      

      【讨论】:

        猜你喜欢
        • 2016-12-15
        • 2022-01-03
        • 2010-11-14
        • 2021-10-31
        • 2020-07-26
        • 2018-10-28
        • 2021-05-31
        • 1970-01-01
        • 2018-07-05
        相关资源
        最近更新 更多