Обрезать строку по известному количеству символов в конце
есть строка:
mystr = 'sometext888999'
мне нужно получить число на конце 888999 проблема в том, что sometext постоянно разный и разной длины, и replace я использовать не могу а код вида:
mystr2 = str(mystr)[:-6]
оставляет часть перед нужными цифрами, которую мне наоборот, надо откинуть
Ответы (3 шт):
Автор решения: dark_buckwheat
→ Ссылка
Можно попробовать инвертировать строку, отрезать первые 6 символов, а потом их уже инвертировать снова
Например:
a = "abc123456"
b = "ab789090"
c = "sometext654321"
ar = a[::-1]
br = b[::-1]
cr = c[::-1]
print(ar[:6][::-1])
print(br[:6][::-1])
print(cr[:6][::-1])
Автор решения: Xander
→ Ссылка
Надо всего лишь -6 ставить не после двоеточия, а перед ним:
mystr2 = mystr[-6:]
Ну и явно приводить к строке str(mystr) не нужно, у вас же и так mystr - строка.
Автор решения: Stop-TussiN
→ Ссылка
import re
number = re.findall(r'\d+$', mystr)[0]
print(number) # 888999