let students_xml = readfile('XML-Input.xml') call filter(students_xml, 'v:val =~ " substitute(val, s:s_pat, s:s_sub, 'g')}) let s:s_pat = '\c\v\�*([a-f][[:xdigit:]]|[[:xdigit:]]{3,7});' let s:s_sub = '\=nr2char(str2nr(submatch(1), 16), 1)' call map(students_xml, {_, val -> substitute(val, s:s_pat, s:s_sub, 'g')}) echo students_xml->writefile('XML-input.out.txt')