Разделить строку в списке меток / значений с различными разделителями и содержимым значений

Alex спросил: 11 марта 2019 в 07:23 в: python

У меня есть строка со списком переменных / значений, например.

string = " var1 = 20, var2  = hello    var3 =345.34  var4 = I have lost 
2,5 billions, var5 = Bill"

разделение кортежей может быть"," или любое количество пробелов, идентификация кортежей всегда"="задача - это некоторые значения, содержащие описательную строку с запятыми в качестве разделителя тысяч или, что еще хуже, в качестве разделителя цифр.

Я пробовал с последовательностью re.sub и re.findall с регулярным выражением python , но я не могу правильно разделить кортеж var4 под кодом:

import re
string = " var1 = 20, var2  = hello    var3 =345.34  var4 = I lost 2,5 
billions, var5 = Bill"t = re.sub('(\=\s+)', '=', string)
t = re.sub('(\s+\=)', '=', t)
result = re.findall("[A-Za-z0-9(,)\=\.]+", t)print(result)
['var1=20,', 'var2=hello', 'var3=345.34', 'var4=I', 'lost', '2,5', 
'billions,', 'var5=Bill']

Мой ожидаемый результат -

['var1=20', 'var2=hello', 'var3=345.34', 'var4=I lost 2,5 billions', 'var5=Bill']

0 ответов