Estou usando replaceFirstChar()
and uppercase()
para converter o primeiro caractere de uma string para maiúscula.
Mas algumas strings podem ter sinais de pontuação, aspas, etc. como o primeiro caractere. Nesses casos, quero que ele os ignore e substitua o primeiro caractere alfanumérico que encontrar.
Como eu poderia conseguir isso?
Código
fun main(){
println("kotlin".replaceFirstChar { it.uppercase() }) // Kotlin
println("¡kotlin!".replaceFirstChar { it.uppercase() }) // I need ¡Kotlin!
println("¿kotlin?".replaceFirstChar { it.uppercase() }) // I need ¿Kotlin?
println("\"¿kotlin?\"".replaceFirstChar { it.uppercase() }) // I need "¿Kotlin?"
println("\"kotlin\"".replaceFirstChar { it.uppercase() }) // I need "Kotlin"
}
Saída
Kotlin
¡kotlin!
¿kotlin?
"¿kotlin?"
"kotlin"
Saída desejada
Kotlin
¡Kotlin!
¿Kotlin?
"¿Kotlin?"
"Kotlin"