Scala эквивалент фильтра Angular's - PullRequest
0 голосов
/ 16 марта 2019

В angularJs я могу конвертировать "my_name_is_XXX" в "My Name Is 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 Ваше имя»

1 Ответ

2 голосов
/ 16 марта 2019

Как то так?

 name.split("[ _]").map(_.capitalize).mkString(" ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...