Как извлечь число, обрамлённое префиксом и суффиксом?

Есть константные строковые префикс и суффикс. Приходит динамическая строка вида "положительное целое число, обрамлённое префиксом и суффиксом". Надо достать это число в переменную типа int.

Можно ли сделать это проще/лучше?

prefix = '['
suffix = ']'

x = prefix + str(42) + suffix

print(int(x.removeprefix(prefix).removesuffix(suffix)))

Например, 1 проходом удалить префикс и суффикс. Или, в предположении что префикс и суффикс односимвольные, сразу преобразовывать в int, игнорируя символы префикса и суффикса, без манипуляций со строками.


Ответы (2 шт):

Автор решения: MaxU

Универсальный вариант с использованием RegEx - удаляем из строки все "не цифры":

import re

res = int(re.sub(r"\D", "", x))

Вариант для заранее известных префикса и суффикса любой длины:

res = int(x[len(prefix):-len(suffix)])

Вариант для любых односимвольных префикса и суффикса:

res = int(x[1:-1])
→ Ссылка
Автор решения: passant

Вариант для односимвольных префикса и суффикса:

print(int(x[1:-1]))
→ Ссылка