Avatar ·

Как работать со строками в Kotlin?

Привет, коллеги!

Я недавно начал изучать Kotlin после Java и столкнулся с некоторыми особенностями работы со строками. В Java я привык использовать методы substring(), concat() и StringBuilder, но в Kotlin, как я понял, всё немного иначе. Например, я пытаюсь объединить несколько строк с пробелами и вывести результат в верхнем регистре.

Вот что я пробовал:
fun main() {
    val firstName = "Иван"
    val lastName = "Петров"
    // Пытаюсь объединить
    val fullName = firstName + " " + lastName
    println(fullName.toUpperCase())
}

Это работает, но я слышал, что в Kotlin есть более идиоматичные способы, например, plus() или шаблоны строк. Также я хочу понять, как правильно обрезать строку, если она длиннее 10 символов, и как заменить часть текста. Я пробовал substring(0, 10), но получаю ошибку, если строка короче 10 символов.

Ожидаю получить примеры кода с использованием стандартных функций Kotlin: take(), drop(), replace(), а также объяснение, как работают строковые шаблоны (string templates) и чем они удобнее конкатенации. Буду благодарен за ссылки на документацию или короткие примеры с пояснениями.