我想在Kotlin中创建一个扩展功能,该功能将字符串的每个单词的首字母转换为大写
the quick brown fox
至
The Quick Brown Fox
我尝试使用
capitalize()
方法。但这只是将String
的首字母大写。 最佳答案
既然您知道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(" ")
或更短:@SuppressLint("DefaultLocale")
fun String.capitalizeWords(): String =
split(" ").joinToString(" ") { it.toLowerCase().capitalize() }