У меня есть строки формы Version 1.4.0\n
и Version 1.15.6\n
, и мне нужен простой способ извлечения трех чисел из них. Я знаю, что могу поместить переменные в строку с помощью метода format; Я в основном хочу сделать это назад, например:
# So I know I can do this:
x, y, z = 1, 4, 0
print 'Version {0}.{1}.{2}\n'.format(x,y,z)
# Output is 'Version 1.4.0\n'
# But I'd like to be able to reverse it:
mystr='Version 1.15.6\n'
a, b, c = mystr.unformat('Version {0}.{1}.{2}\n')
# And have the result that a, b, c = 1, 15, 6
Кто-то, кого я нашел, задал тот же вопрос, но ответ был специфичен для их конкретного случая: Использовать строку формата Python в обратном порядке для синтаксического анализа
Общий ответ (как сделать format()
в обратном порядке) был бы замечательным! Ответ на мой конкретный случай тоже будет очень полезен.