2026-03-28 12:19:58 +01:00

19 lines
705 B
Python

import re
from copy import deepcopy
class FindAndReplace:
def __init__(self, map: dict[str, list[str]], reqire_full_match: bool = False):
self.map = map
self.require_full_match = reqire_full_match
def execute_on_cell(self, entry) -> str:
res = deepcopy(entry.value)
for species, alternatives in self.map.items():
for old_version in alternatives:
if self.require_full_match and old_version == res:
# Todo remove random leading/trailing spaces before if
res = species
elif not self.require_full_match:
res = res.replace(old_version, species)
return res