У меня есть длинный список строк, которые представляют собой разные продукты в моей базе данных, каждая с этикеткой продукта и размерами продукта (включая размер упаковки) продукта.Я хотел бы разделить строки на две подстроки: первая часть до размера и вторая часть, которая содержит размер жидкости и, возможно, размер упаковки.Например, у меня есть следующие строки:
str1 = 'PRODUCTA 1909 SUPERIOR GIN 89 PROOF 750ML'
str2 = 'PRODUCTB FLAV GIN 70 PROOF VAP 1.5L 2PK'
str3 = 'PRODUCTB FLAV GIN 70 PROOF VAP 1.5L 6PK'
str4 = 'PRODUCTC FLAV GIN 70 PROOF VAP 50ML 5PK'
Я хотел бы получить следующее:
str1a = 'PRODUCTA 1909 SUPERIOR GIN 89 PROOF'
str1b = '750ML'
str2a = 'PRODUCTB FLAV GIN 70 PROOF VAP'
str2b = '1.5L 2PK'
str2a = 'PRODUCTB FLAV GIN 70 PROOF VAP'
str2b = '1.5L 6PK'
str4a = 'PRODUCTC FLAV GIN 70 PROOF VAP'
str4b = '50ML 5PK'
Сложность заключается в том, что многие продукты имеют цифры на этикетке продукта (например, 1909 в строке1) и что некоторые размеры продукта составляют не только количество литров (1,5 л, 750 мл и т. д.), но и размер упаковки, в которой он поставляется (2 упаковки, 6 упаковок и т. д.).
Я хотел бы разбить каждую цифру перед буквой «L» и игнорировать точки.Тогда к ML, CL или L относились бы одинаково, а 1,5 л все равно следует было бы определить как 1,5 л, а не 15 л.
Может ли кто-нибудь помочь мне с правильными выражениями регулярных выражений сделать это?