У меня есть строки длительности произвольной формы, содержащие значения часов и минут, одно из которых может быть необязательным
1 hour
12 hours 3 mins
47 mins
10 hours
1 min
Я должен преобразовать их в количество минут.Сначала искал библиотеку Python, которая преобразует время и продолжительность, но строковый формат не позволяет использовать такой подход
Затем я попытался с помощью регулярного выражения извлечь группы чисел:
re.search("(\d+)?.*(\d+\w)", string).group(1)
re.search("(\d+)?.*(\d+\w)", string).group(2)
, который работал длябольшинство случаев, когда присутствуют значения часов и минут или когда присутствует только значение минут (поскольку я сделал первую группу необязательной) Это регулярное выражение завершается ошибкой, когда час состоит из одной цифры (1 час).Кроме того, поскольку я извлекаю только группы цифр без описательного текста (час (ы) и / или мин (с), вычисление неверно, когда есть только значение часа (с двумя цифрами) - например, 10 часов, и оно ошибочно извлекается как2-я группа по минутам.