角度'的Scala等价物;这是漂亮的过滤器

角度'的Scala等价物;这是漂亮的过滤器,scala,angular-filters,Scala,Angular Filters,在angularJs中,我可以使用漂亮的过滤器将“我的名字”转换为“我的名字”。我怎样才能在Scala中做到这一点。我想出了一些笨拙的正则表达式,很接近,但开头不是大写。有更好的办法吗 scala> def underscoreToCamel(name: String) = "_([a-zA-Z\\d])".r.replaceAllIn(name, {m => " " + m.group(1).toUpperCase() }) underscoreToCamel: (name: St

在angularJs中,我可以使用漂亮的过滤器将“我的名字”转换为“我的名字”。我怎样才能在Scala中做到这一点。我想出了一些笨拙的正则表达式,很接近,但开头不是大写。有更好的办法吗

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
在最后一个例子中,我希望“我的名字是XXX,你的名字”是这样的

 name.split("[ _]").map(_.capitalize).mkString(" ")
像这样的

 name.split("[ _]").map(_.capitalize).mkString(" ")

太好了
scala>val temp=“我的名字是你的名字”。拆分(“).map(u.capitalize).mkString(“”)temp:String=我的名字是你的名字
完美
scala>val temp=“我的名字是你的名字”。拆分(“).map(u.capitalize).mkString(“”)temp:String=我的名字是你的名字