Issue
I want to make a extension function in Kotlin, that converts the first letter of each word of the string to upper case
the quick brown fox
to
The Quick Brown Fox
I tried using the capitalize() method. That only though capitalised the first letter of the String.
Solution
Since you know capitalize() all you need is to split the string with space as a delimeter to extract each word and apply capitalize() to each word. Then rejoin all the words.
fun String.capitalizeWords(): String = split(" ").map { it.capitalize() }.joinToString(" ")
use it:
val s = "the quick brown fox"
println(s.capitalizeWords())
will print:
The Quick Brown Fox
Note: this extension does not take in account other chars in the word which may or may not be capitalized but this does:
fun String.capitalizeWords(): String = split(" ").map { it.toLowerCase().capitalize() }.joinToString(" ")
or shorter:
@SuppressLint("DefaultLocale")
fun String.capitalizeWords(): String =
split(" ").joinToString(" ") { it.toLowerCase().capitalize() }
Answered By - user8959091
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.