fork download
  1. from collections import OrderedDict
  2. import re
  3.  
  4. test = "fitess no kome*"
  5.  
  6. slang_dict = {"Aha aha":"no", "fitess":"fitness", "damm":"damn", "kome*":"come", "ow wow":"rrf"}
  7. slang_dict = OrderedDict(sorted(slang_dict.iteritems(), key=lambda x: len(x[0]), reverse=True))
  8.  
  9. slangs_re = re.compile(r"(?<!\w){}(?!\w)".format('|'.join([re.escape(x) for x in slang_dict])))
  10. def correct_slang(s, slang_dict=slang_dict):
  11. def replace(match):
  12. return slang_dict[match.group(0)]
  13.  
  14. return slangs_re.sub(replace, s)
  15.  
  16. test = correct_slang(test)
  17. print(test)
Success #stdin #stdout 0.01s 23592KB
stdin
Standard input is empty
stdout
fitness no come