Hallo Sascha,
marabu stellt in
diesem Beitrag eine universelle Routine vor, mit der sich das Problem ebenfalls lösen lässt, falls du dich mit einem anderen Muster-String anfreunden kannst:
s := Reformat('AB1234CD56', 'xxxyyyzzzz', 'xxx-yyy-zzzz');
Der Muster-String darf keine Zeichen enthalten, die literal übernommen werden sollen.
Gruß Hawkeye