2015-06-13 2 views
-1

Я ищу способ, чтобы заменить каждое число внутри строки числом с поплавком. Поэтому я бы повернул это: "3/1": "3.0/1.0" Есть ли способ сделать это?Python: Замените целые числа на поплавки в строке

+0

Будут все строки имеют номера, разделенные косой чертой? –

+0

любой тип числа (целочисленный, действительный, сложный ..) или целые числа? – Pynchia

ответ

3

Вы можете использовать re.sub:

>>> s="3/1" 
>>> import re 
>>> re.sub(r'(\d+)',r'\1.0',s) 
'3.0/1.0' 
>>> s="334/14" 
>>> re.sub(r'(\d+)',r'\1.0',s) 
'334.0/14.0' 
+1

Спасибо. Это решило мою проблему :) –

+0

Но ... подождите. Если я вставляю строку типа «1/30», она делает странные вещи. («3.00.0») есть другой способ? - EDIT: Решено. (\ d +) –

+0

@ d0n.key, вы должны делать странные вещи, потому что вы не должны этого делать. –

2

Если они одиночные строки всегда в том же формате:

s = "3/1" 


print("{}.0/{}.0".format(*s.split("/"))) 
Смежные вопросы