In angularJs I can convert "my_name_is_XXX" to "My Name Is XXX" using the pretty filter. How can I do that in Scala. I came up with some clumsy regex which is close but the beginning is not Uppercase. Is there a better way?
scala> def underscoreToCamel(name: String) = "_([a-zA-Z\\d])".r.replaceAllIn(name, {m => " " + m.group(1).toUpperCase() })
underscoreToCamel: (name: String)String
scala> val p = underscoreToCamel("my_name_is")
p: String = my Name Is
scala> val p = underscoreToCamel("my_name_is_XXX")
p: String = my Name Is XXX
scala> val p = underscoreToCamel("my_name_is_XXX your_name")
p: String = my Name Is XXX your Name
In the last case I expect "My Name Is XXX Your Name"
Something like this?
name.split("[ _]").map(_.capitalize).mkString(" ")