Вы можете использовать filter(str.isdigit, s)
, чтобы сохранить только те символы s
, которые являются цифрами:
>>> s = "--10-"
>>> int(filter(str.isdigit, s))
10
Обратите внимание, что это может привести к неожиданным результатам для строк, содержащих несколько чисел
>>> int(filter(str.isdigit, "12 abc 34"))
1234
или отрицательные числа
>>> int(filter(str.isdigit, "-10"))
10
Редактировать : Чтобы сделать эту работу для unicode
объектов вместо str
объектов, используйте
int(filter(unicode.isdigit, u"--10-"))