Преобразование или изменение формата строки в переменные (аналогично форматированию (), но в обратном порядке )в Python

У меня есть строки вида 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()в обратном порядке )было бы здорово! Однако ответ для моего конкретного случая тоже был бы очень полезен.

28
задан Rick supports Monica 30 May 2017 в 15:53
поделиться