Znam ten sposóbpierwszą literę każdego słowa w Scala
val str=org.apache.commons.lang.WordUtils.capitalizeFully("is There any other WAY"))
chcą wiedzieć, czy jest jakiś inny sposób, żeby zrobić to samo.
coś w Scala Style
Znam ten sposóbpierwszą literę każdego słowa w Scala
val str=org.apache.commons.lang.WordUtils.capitalizeFully("is There any other WAY"))
chcą wiedzieć, czy jest jakiś inny sposób, żeby zrobić to samo.
coś w Scala Style
pierwszą literę o wyrażenie:
"is There any other WAY".capitalize
res8: String = Is There any other WAY
pierwszą literę każdego słowa w ciąg:
"is There any other WAY".split(' ').map(_.capitalize).mkString(" ")
res9: String = Is There Any Other WAY
pierwszą literę łańcucha znaków, natomiast niższy obudowy wszystko:
"is There any other WAY".toLowerCase.capitalize
res7: String = Is there any other way
pierwszą literę każdego słowa w ciągu, natomiast niższy obudowy wszystko:
"is There any other WAY".toLowerCase.split(' ').map(_.capitalize).mkString(" ")
res6: String = Is There Any Other Way
trochę skomplikowane, można użyć podział, aby uzyskać listę ciągów, a następnie użyć wykorzystać, a następnie zmniejszyć wrócić ciągu:
scala> "is There any other WAY".split(" ").map(_.capitalize).mkString(" ")
res5: String = Is There Any Other WAY
Aby zamienić pierwszą literę każdego słowa mimo separatora:
scala> import com.ibm.icu.text.BreakIterator
scala> import com.ibm.icu.lang.UCharacter
scala> UCharacter.toTitleCase("is There any-other WAY", BreakIterator.getWordInstance)
res33: String = Is There Any-Other Way
Ten będzie używał wielkich liter niezależnie od separatora i nie wymaga żadnych dodatkowych bibliotek. Poprawnie potraktuje również apostrof.
scala> raw"\b((?<!\b')\w+)".r.replaceAllIn("this is a test, y'all! 'test/test'.", _.group(1).capitalize)
res22: String = This Is A Test, Y'all! 'Test/Test'.