2011-05-29 130 views
1

如何使用正則表達式來改變這個字符串使用正則表達式來修改字符串

':: 1:62 2:31 :: 3:4 4:32' 

到:

':: 1:62.0 2:31.0 :: 3:4.0 4:32.0' 

有沒有乾淨的方式做到這一點,而無需使用re.split

+2

你知道問題出在問題框中嗎? – 2011-05-29 10:05:00

+0

你是否這樣做是因爲你想讓這些數字以後被轉換成浮動狀態?如果您的代碼正在執行投射,那麼可能會有更整潔的解決方案。 – katrielalex 2011-05-29 13:48:36

回答

4
>>> re.sub("([0-9]+:[0-9]+)", "\\1.0", ':: 1:62 2:31 :: 3:4 4:32') 
':: 1:62.0 2:31.0 :: 3:4.0 4:32.0' 

這樣就夠了嗎?

+0

是的..這是完美的。謝謝! – Nullpoet 2011-05-29 10:12:25

+1

嘖嘖,我花了一些腦筋想弄明白!你正在使用一個反向引用,''1'',並且只是追加''.0''。 – ThomasH 2011-05-29 11:29:27

+0

那不是回參考 – unbeli 2011-05-29 15:02:37

0
>>> re.sub(r'(\d)(|$)', r'\1.0\2', ':: 1:62 2:31 :: 3:4 4:32') 
':: 1:62.0 2:31.0 :: 3:4.0 4:32.0' 
相關問題