2012-09-06 66 views
1

替換字符串我有一個包含以下格式的度分秒字符串值表中字段:的Python:通過指數

179-53-32

我想更換所有的短劃線和格式化這個到的正確的格式:

179°53' 32"

基本上用正確的字符(度,分,秒)替換破折號並在那裏有空格。我正在考慮按索引進行修改,但我不認爲它有效:

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

有沒有辦法完成我想要做的事情?也許首先枚舉字符串,然後替換?

謝謝, 邁克

回答

5

這可能會做到這一點:

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

您可能需要調用換到s.split一個元組的呼叫。否則,我得到一個錯誤。所以它變成這樣:

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

不錯的一個。感謝g.d.d.c! – Mike

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

最後不應該有雙引號嗎? –

+0

行動沒有看到,謝謝 – Rakesh

+0

謝謝拉克什。我也測試過了。我不得不在空間中添加,但這適用於我所需要的! – Mike

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