Python:按索引替换字符串

时间:2012-09-06 17:27:30

标签: python replace indexing

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

  

179-53-32

我想替换所有短划线并将其格式化为正确的格式:

  

179°53'32“

基本上用正确的字符(度,分,秒)替换破折号并在那里有空格。我正在考虑通过索引进行重复,但我认为它不起作用:

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

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

谢谢, 麦克

3 个答案:

答案 0 :(得分:5)

这可能会这样做:

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

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

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

答案 1 :(得分:1)

'179-53-32'.replace('-', '°', 1).replace('-', "'", 1)+ '"'

答案 2 :(得分:0)

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

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'))