作者:嘿嘿可爱无罪 | 来源:互联网 | 2022-12-06 15:18
我想在Kotlin中创建扩展功能,该功能将字符串的每个单词的首字母转换为大写
the quick brown fox
至
The Quick Brown Fox
我尝试使用该capitalize()
方法。那只是大写的第一个字母String
。
1> 小智..:
既然您知道capitalize()
所有您需要的就是用空格作为分隔符来分割字符串以提取每个单词并应用于capitalize()
每个单词。然后重新加入所有单词。
fun String.capitalizeWords(): String = split(" ").map { it.capitalize() }.joinToString(" ")
用它:
val s = "the quick brown fox"
println(s.capitalizeWords())
将打印:
The Quick Brown Fox
注意:此扩展名未考虑大写单词中的其他字符,但这可以:
fun String.capitalizeWords(): String = split(" ").map { it.toLowerCase().capitalize() }.joinToString(" ")
可以通过与joinToString合并来简化map。就像`split(“”).joinToString(“”){it.capitalize()}`
2> Rainmaker..:
比接受这样的答案更简单:
fun String.capitalizeWords(): String = split(" ").joinToString(" ") { it.capitalize() }