Question: printf command to separate letters into blocks of five

I have a message, "I Didn't See That Double Rainbow!" and i want to encrypt it by making all the characters UpperCase first and removing all punctuation. I used IsUpper to remove the punctuation. Now I want to separate my new scrambled message into BLOCKS OF 5 LETTERS SEPARATED BY SPACES. Any ideas on how to do that using the "printf" command?

 

with(StringTools):
Alphabet:="THEQUICKBROWNFXJMPSVLAZYDG";
                
Cryptabet:="abcdefghijklmnopqrstuvwxyz";
                
Scramble:=msg->CharacterMap(Alphabet, Cryptabet, msg):
Unscramble:=code->CharacterMap(Cryptabet, Alphabet, code):

Scramble("I Didn't See That Double Rainbow!");
            >  "f yidn't see ahat youble jainbow!"


Select(IsUpper,UpperCase("I Didn't See That Double Rainbow!"));
             >     "IDIDNTSEETHATDOUBLERAINBOW"
Scramble(%);
             >     "fyfymasccabvaykeiucjvfmikl"

Please Wait...