How can I split a string only at spaces with unicode characters in it?

This works for me:

iex(1)> String.split("Freude schöner Götterfunken", ~r/[^[:alnum:]-]/u, trim: true)
["Freude", "schöner", "Götterfunken"]

Is your shell not in UTF8 perhaps?