Обрезать строку по известному количеству символов в конце

Рейтинг: 0Ответов: 3Опубликовано: 04.02.2023

есть строка:

mystr = 'sometext888999'

мне нужно получить число на конце 888999 проблема в том, что sometext постоянно разный и разной длины, и replace я использовать не могу а код вида:

mystr2 = str(mystr)[:-6]

оставляет часть перед нужными цифрами, которую мне наоборот, надо откинуть

Ответы

▲ 4Принят

Надо всего лишь -6 ставить не после двоеточия, а перед ним:

mystr2 = mystr[-6:]

Ну и явно приводить к строке str(mystr) не нужно, у вас же и так mystr - строка.

▲ 0

Можно попробовать инвертировать строку, отрезать первые 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])
▲ 0
import re

number = re.findall(r'\d+$', mystr)[0]
print(number)  # 888999