2011-05-29 90 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' 
相关问题