Python функция замены, можно ли сделать красивее? - PullRequest
0 голосов
/ 20 июня 2020

можно сделать меньше строк

text = "DKK 5.000,33"
text2 = text.replace('DKK ', '')

text3 = text2.replace('.', '')
text4 = text3.replace(',','.')
print(float(text4))

Он выводит то, что я хочу, это выглядит так плохо, и я надеюсь, что это можно сделать более красивым, поэтому мне не нужно создавать 4 новые переменные для изменить текст :)

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Вы можете вызывать замену текста сколько угодно раз.

text = "DKK 5.000,33"
text2 = text.replace('DKK ', '').replace('.', '').replace(',','.')
print(float(text2))
0 голосов
/ 20 июня 2020

Вы также можете использовать шаблон с проверкой re.sub для всех 3 случаев и использовать группу для запятой.

Замените DKK или . с пустой строкой, и если группа 1 присутствует, замените запятую на .

text = "DKK 5.000,33"
text = re.sub(r"DKK |\.|(,)", lambda m: "." if m.group(1) else "", text)
print(float(text))

Вывод

5000.33
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...