fork download
  1. import re
  2. my_dict = {"X":"xxx", "Y":"yyy"}
  3. my_str = "A[xxx]BC[yyy]"
  4.  
  5. def get_key_by_value(dictionary, value):
  6. for key, val in dictionary.items():
  7. if val == value:
  8. return key
  9. return value # If no key has been found
  10.  
  11. rx = re.compile(r'\[([^][]*)]')
  12. result_1 = rx.sub('', my_str)
  13. result_2_arr = []
  14. m = rx.search(my_str)
  15. tmp = my_str
  16. while m:
  17. result_2_arr.append("{}|{}".format(m.start(), get_key_by_value(my_dict, m.group(1))))
  18. tmp = "".join([tmp[:m.start()], tmp[m.end():]])
  19. m = rx.search(tmp)
  20.  
  21. print ( result_1 )
  22. print ( "|".join(result_2_arr) )
Success #stdin #stdout 0.02s 9616KB
stdin
Standard input is empty
stdout
ABC
1|X|3|Y