# [R], <s>159</s> <s>134</s> 125 bytes <!-- language-all: lang-r --> icuSetCollate(locale="ASCII");s=scan(,"");s[order(chartr("CcJOoSsUabDdefGghjLlnPpQqrTtuVvXxyABFHIiKkNRYZzEMmWw","A-Za-z",s))] [Try it online!][TIO-khp713nn] [R]: https://www.r-project.org/ [TIO-khp713nn]: https://tio.run/##FcbLEoIgFADQX2FY4Yx@QePCLMvKXvYwmxaIt7BICjDTn6fprI6ytmJNCiaUQlADREhGBfg4SMM4xs5A@5rRmrj4/7NUJSjCOFVGERyy2Uqmek@LUQnXyY3fF6JevzZvtTPN4ZN9u2AYTeNq/lhuT3k/Tp7HFrs48HLq9djVjnOxCe2Q4YAiqRigAlBbGY462dgf "R – Try It Online" Thanks to [Dominic van Essen](https://codegolf.stackexchange.com/users/95126/dominic-van-essen) for -7 bytes. Similar to others, translate the characters in the string using `chartr` into an appropriate `order`, then sort the strings using that `order`. The default collation order in the R install on TIO, `en_US.UTF8`, is very odd: while, for instance, `e` comes before `E`, `ekF` comes _after_ `EgHTk` (those being the translations of "and" and "begin" in the unchanged test case). So I switch to an ASCII locale, which compares by byte value instead.