Поскольку вы не указали, какой язык вы используете, вот способ получить пары (элемент / комиссия) в Python:
Python 3.7.4 (default, Aug 12 2019, 14:45:07)
[GCC 9.1.1 20190605 (Red Hat 9.1.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> from pprint import pprint
>>> s='Some calculations income:11111 com:11 outgo:22222 com:22 cancel:33333 com:333'
>>> pairs = re.compile(r'(\w+:\d+)\s(com:\d+)')
>>> pprint(pairs.findall(s))
[('income:11111', 'com:11'),
('outgo:22222', 'com:22'),
('cancel:33333', 'com:333')]
>>>
Регулярное выражение здесь просто (\w+:\d+)\s(com:\d+)
.
Если у вас есть числа с плавающей запятой справа от пар ключ: значение, измените регулярное выражение на (\w+:[\d.]+)\s(com:[\d.]+)
:
>>> s='Some calculations income:11111.11 com:11.11 outgo:22222.22 com:22.22 cancel:33333.33 com:333.33'
>>> pairs = re.compile(r'(\w+:[\d.]+)\s(com:[\d.]+)')
>>> pprint(pairs.findall(s))
[('income:11111.11', 'com:11.11'),
('outgo:22222.22', 'com:22.22'),
('cancel:33333.33', 'com:333.33')]
>>>
Вычисления зависят от того, какой язык вы используете.
Поскольку у вас уже есть список пар, вам просто нужно разделить их на :
, преобразовать правильное значение в float
и затем выполнить вычисления.