как отделить строковые данные от числовых?
у меня есть несколько выражений:
rmd1012
tod12
ng999der
yd1028a
Как можно отделить от этих выражений строковые данные идущие до чисел, но с сохранением букв идущих после чисел, что бы получилось следующее:
1012
12
999der
1028а
Ответы (3 шт):
Автор решения: dimchich
→ Ссылка
Можно взять простое регулярное выражение, которое будет брать все цифры и все буквы после цифр:
\d+\w*
Автор решения: Strashilka
→ Ссылка
Не претендую на самый идеальный вариант, но я бы так перебрал:
tuple_digital=('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
list_words=['rmd1012', 'tod12', 'ng999der', 'yd1028a']
new_list_words=[]
for x in list_words:
for y in x:
if y not in tuple_digital:
x=x.replace(y, '', 1)
else:
new_list_words.append(x)
break
#Дальше просто перебор ответов
for x in new_list_words:
print(x)
Зато работает не только с цифрами, но и с любыми указанными символами.
Автор решения: CameL
→ Ссылка
Если без регулярок то проверяйте методом isaplha является ли символ буквенным, и если нет, то меняйте флаг
text = """rmd1012
tod12
ng999der
yd1028a"""
for i in text.split('\n'):
flag = False
res = ""
for sumbol in i:
if not sumbol.isalpha():
flag = True
if flag:
res += sumbol
print(res)