Преобразование строки в нижний регистр

Kotlin:
Преобразование строки в нижний регистр

Как это сделать:

Функция Kotlin lowercase() преобразует все символы строки в нижний регистр быстро. Вот как её использовать:

fun main() {
    val originalString = "ThiS iS A MixED cAsE String!"
    val lowerCaseString = originalString.lowercase()

    println(lowerCaseString) // Вывод: this is a mixed case string!
}

Вызовите lowercase() и всё готово. Регистр исходных символов не имеет значения; результат всегда в нижнем регистре.

Погружение в тему

Kotlin не изобрел колесо заново для преобразования строк в нижний регистр. Это действительно общая функция во многих языках программирования. Исторически, функции вроде tolower() в C давно решают задачу преобразования регистра.

Теперь, два нюанса при преобразовании в нижний регистр: локали и производительность. Функция lowercase() Kotlin может принимать Locale, потому что, удивительно, преобразование регистров символов не универсально. Например, турецкие точечные и безточечные “I” ведут себя уникально при преобразовании регистров.

Производительность? В большинстве приложений вы не заметите разницы. Но обработка больших объемов текста требует больше памяти и времени, так как строки в Kotlin неизменяемы. Когда вы приводите строку к нижнему регистру, вы получаете новую строку.

Старожилы помнят .toLowerCase() — сейчас Kotlin предпочитает lowercase() для ясности.

См. также

  • Документация по строкам Kotlin: Kotlinlang.org
  • Для обработки текста и продвинутого манипулирования регистрами, смотрите API java.lang.String: Oracle Docs
  • Понимание локалей и особенностей языков: Oracle Locale Docs