Python удаление специального символа из строки не работает - PullRequest
0 голосов
/ 05 апреля 2020

Вчера я написал сценарий, который удаляет значение с веб-страницы, а затем удаляет два специальных символа ('.' И '€') из очищенной строки, чтобы затем его можно было преобразовать в целочисленный формат. Сегодня, тем не менее, код не заменяет знак «€».

Значение, которое я получаю с веб-страницы, составляет «5.000 €», и для замены двух символов я использую код:

amt = driver.find_element_by_class_name('example-val').text
amt = int(amt.replace('.', '').replace('€', ''))

Я уже пробовал использовать re.sub без результатов:

amt = re.sub('.|€', '', amt)

Я не знаю, является ли это лучшим подходом для преобразования строки в целочисленный формат, но это то, что я пришел с.

Любая помощь будет очень признательна!

1 Ответ

0 голосов
/ 05 апреля 2020

Более простым способом попробуйте это:

amt = driver.find_element_by_class_name('example-val').text
amount=''
for i in amt:
    if i in '0123456789':
        amount+=i
amount=int(amount)

В качестве однострочного:

amt = driver.find_element_by_class_name('example-val').text
#Either:
amt = int( ''.join(filter(lambda i: i.isdigit(), amt)))
#or:
amt = int(re.sub("\D", "", amt))
...