fork download
  1. import re
  2. REPLACEMENTS = dict([('max.' , ' maximum '),
  3. ('inkl.' , ' inklusive '),
  4. ('z.b.' , ' zum beispiel '),
  5. ('ggf.', ' gegebenfalls '),
  6. ('ca.' , ' circa ')])
  7.  
  8. sample_input_text = "Hallo, ggf ggf. max z.b. alpha z.b beta ca. 25 cm ca inkl. inkl. inkl"
  9. joined = r'\b(?:' + '|'.join(map(re.escape, REPLACEMENTS.keys())) + r')(?!\B\w)'
  10. print(re.findall(joined, sample_input_text))
  11. # >> ['ggf ', 'ggf.', 'max ', 'z.b.', 'z.b ', 'inkl.', 'inkl.']
  12. pattern = re.compile(joined)
  13. output_text = pattern.sub(lambda m: REPLACEMENTS.get(m.group()), sample_input_text)
  14. print(output_text)
  15. # >> 'Hallo, gegebenfalls zum beispiel alpha beta ca. 25 cm ca inklusive inklusive inkl'
  16. # "Hallo, ggf gegebenfalls max zum beispiel alpha z.b beta circa 25 cm ca inklusive inklusive inkl"`
Success #stdin #stdout 0.03s 9660KB
stdin
Standard input is empty
stdout
['ggf.', 'z.b.', 'ca.', 'inkl.', 'inkl.']
Hallo, ggf  gegebenfalls  max  zum beispiel  alpha z.b beta  circa  25 cm ca  inklusive   inklusive  inkl