Как и чем сделать перемножение во множестве текстовых файлов считывая значение перемножаемых чисел по условию и перезаписать результат вместо второго считываемого числа, не трогая остальной текст?
Есть текстовые файлы(несколько десятков), в них есть по сотне записей с группами, в группах расписаны шансы на выпадение самой группы, а так же внутри каждой из групп есть индивидуальные шансы на каждый итем входящий в эту группу, нужно привести множество текстовых файлов, содержащих такие строки ко второму виду, где индивидуально раписаны шансы каждого итема. И этот шанс получен перемножением индивидуального шанса этого итема на шанс группы в которой этот итем находится. Не трогая остальной текст, содержащийся в файлах. Строки с групповыми шансами можно не удалять(если сделать это после, создав единую группу с шансом 100% на каждый список итемов).
Оригинал:
Пример:
Сделать из записи вида:
Такую запись:
Результат:
А если можно — такой результат:
При этом aa*bb должно быть непосредственно результатом перемножения.
Примерный алгоритм, возможно совершенно не верный, просто то, что мне пришло в голову..
0) переменная «групшанс» по умолчанию =1
1)читаю текст, нахожу фразу group chance, считываю всё, что после =" и до второй " в переменную «групшанс»
1.5)умножаю переменную «групшанс» на 0.01(так как надо значение в процентах перевести в значение в долях то есть 100% = 1, 50%=0.5, 0.5%=0.005 и тд)
2)далее умножаю встречающееся мне число, расположенное после " chance=" и до второй кавычки " на переменную «групшанс» и перезаписываю полученный результат вместо исходного числа
3)далее проверяю, нет ли строки group chance, если есть, то возвращаюсь к пункту 1), если нет, то к пункту 2), если же встречаю фразу </group> то записываю в переменную «групшанс» число 1