I feel like to comment here on "because it can't use indexes for such things". This is not a serious reply IMO. It is just another way or saying "Please shut up!"
How many existing string functions (
http://dev.mysql.com/doc/refman/5.6/en/string-functions.html) use an index? Does "select concat('a','b');" do for instance? I cannot think of any. And why do we have 'stored programs' if a database server should only do things that uses indexes? Does a WHILE-loop inside a stroed program use an index?
Unlike most other RDBMS, MySQL has a tradition to do things in the application thet other RDBMS would do in the database. But that traditions is/was because of lack of functionality in the server before 5.0 (what is still the case in some respects. Try compare a MySQL TRIGGER with an Oracle or SQL Server same, for instance).
That said: this functionality can be implemented in a stored function using existing string functions (or in the application, as sugggested) quite easily. It is not possible (or desirable) to add build-in functions for everything. And I have no clue is such string function exists in other RDBMS.
-- Peter
-- Webyog