我在表中有一个字段,其中包含以下格式的度分秒字符串值:
179-53-32
我想替换所有破折号并将其格式化为以下正确格式:
179° 53' 32"
基本上用正确的字符(度,分,秒)替换破折号并在其中有空格。我正在考虑按索引进行替换,但我认为它不起作用:
s.replace('-', '° ')[0]
s.replace('-', '\' ')[1]
有没有办法完成我想做的事情?也许先枚举字符串然后替换?
谢谢,迈克
这可能会这样做:
"%s° %s' %s\"" % s.split('-')
您可能需要将调用包装s.split
在一个元组调用中。否则我得到一个错误。所以它变成了这样:
"%s° %s' %s\"" % tuple(s.split('-'))
'179-53-32'.replace('-', '°', 1).replace('-', "'", 1)+ '"'
您可以在正则表达式中使用组。它们非常有用。
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'))