У меня есть строки вида Version 1.4.0\n
и Version 1.15.6\n
, и мне нужен простой способ извлечь из них три числа. Я знаю, что могу поместить переменные в строку с помощью метода форматирования; Я в основном хочу сделать это задом наперед, вот так:
# 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()
в обратном порядке )было бы здорово! Однако ответ для моего конкретного случая тоже был бы очень полезен.