I also learned the STRCSPN function in this challenge. I really enjoyed this one as it forces you to look at data in an atypical way.
Nubext wubill wube trubanslubate ubintubo ububbubi dububbubi? (but only if you watched Zoom on PBS!)
All fairly straightforward - but got caught out by the "Title Case" within my REGEX_Match function. Who would have thought that even though using \u to detect upper case letters that you would still need to specify case sensitivity!?!
My solution is dirty one - using string formulas and iif cases to create words for replacement.
But I don't need to use RecordID Tool and to deal with punctuation keeping.
Only thing I haven't done - parsing Upper-case.
I thought this challenge could has a beautiful solution with LR(1) parcer.
Such parcer will be written as a number of rules for itterative substitutions vis Alterix FindReplace Tool.
Stage 1 - move start consonant to end of the word
" " + Stage0 + consonamt -> " " + consonant + Stage1
consonant + stage1 + letter -> letter + consonant + stage1
consonant + stage1 + " " -> stage2 + consonant + " "
Stage 2 - back to the beginning
letter1 + stage2 + letter2 -> stage2 + letter1 + letter2
" " + stage2 + letter = " " + stage3 + letter
I tried to organize the workflow breaking it by criteria:
Criteria 1 - Begin with one consonant
Criteria 2 - Begin with consonant cluster
Criteria 3 - Begin with vowel
* The remaining cells after applying all criterias are all empty values.
Hope the comments in the workflow can help to easy understand it.
Really nice challenge. Thank you!