Scala相当于angular的漂亮过滤器

问题描述 投票:0回答:1

在angularJs中,我可以使用漂亮的过滤器将“my_name_is_XXX”转换为“我的名字是XXX”。我怎么能在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你的名字”

scala angular-filters
1个回答
2
投票

像这样的东西?

 name.split("[ _]").map(_.capitalize).mkString(" ")
© www.soinside.com 2019 - 2024. All rights reserved.