Top.Mail.Ru
Ответы

Использование replace python со списком

Питон, у меня есть строка, в которой есть буквы и цифры, мне нужно убрать все буквы из строки чтобы остались только цифры, можно ли в список ввести все буквы, а потом через .replace() убрать их все? или это можно сделать как нибудь по другому?

По дате
По рейтингу
Аватар пользователя
Мыслитель

mystring='123abc789'
newstring=''.join([ v for v in mystring if v.isnumeric() ])
print(newstring)
123789

Аватар пользователя
Гений

Реализуя ваш вариант, легче "ввести" все цифры и оставить только их, чем перечислять все остальные существующие символы.

Но есть варианты попроще:

def parse_unit(s):
return int(''.join( [x for x in s if x.isnumeric()] ))

import re
def parse_unit(s):
return int(re.sub(r'\D', '', s))

s = 'a1b2c3'
print( parse_unit(s) )

Аватар пользователя
Мудрец

s = '12asd234ex213exe3'
print(''.join(filter(str.isdigit, s)))