I have some long strings that I need to reverse. I haven’t found a string function for this, so I wrote my own partial which is (unsurprisingly) very slow but does the job.
It remains not needed often enough to merit inclusion in the standard library.
I reached the same conclusion, and would vote to not create a template function. The implementation is not trivial… you need to handle both composite and non-composite characters .
So… which method is faster depends on the length of the string. For a long string (e.g., a paragraph), the split/delimit approach is faster. For short strings (e.g., a word) the range/print approach is faster.