Kotlin Academy · Урок

Необработанные строки и тройные кавычки

Используйте строки в тройных кавычках для многострочного текста и необработанного содержимого без экранирования.

Урок 3 из 413 шагов

«Необработанные строки и тройные кавычки» — бесплатный урок Kotlin Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Academy содержит 4 уроков всего.

Что такое необработанная строка?

Необработанная строка использует тройные кавычки """...""" и сохраняет текст в точности так, как он записан: без управляющих последовательностей и специальных символов.

Простая необработанная строка

Строки в тройных кавычках могут занимать несколько строк без явного указания \n.

fun main() {
    val text = """
        Line 1
        Line 2
        Line 3
    """
    println(text)
}

Управляющие последовательности не нужны

Внутри необработанной строки обратные косые черты и кавычки отображаются буквально. Это идеально подходит для шаблонов регулярных выражений и путей Windows.

fun main() {
    val regex = """\d+\.\d+"""
    val winPath = """C:\Users\Alice\Documents"""
    println(regex)
    println(winPath)
}

Многострочный JSON

Необработанные строки идеально подходят для встроенных литералов JSON, SQL или HTML — без лишних экранирований.

fun main() {
    val json = """
        {
            "name": "Kotlin",
            "year": 2011
        }
    """.trimIndent()
    println(json)
}

trimIndent()

trimIndent() удаляет общие начальные пробелы из каждой строки, позволяя аккуратно выровнять исходный код и сохранить чистый вывод.

fun main() {
    val poem = """
        Roses are red
        Violets are blue
        Kotlin is sweet
        And so are you
    """.trimIndent()
    println(poem)
}

trimMargin()

trimMargin() удаляет начальный маркер отступа (по умолчанию |). Используйте его, когда явное выравнивание важнее сопоставления отступов.

fun main() {
    val msg = """
        |Hello,
        |    World!
        |Goodbye.
    """.trimMargin()
    println(msg)
}

Настраиваемый символ отступа

Передайте любой символ в trimMargin, чтобы настроить маркер.

fun main() {
    val text = """
        >Line A
        >Line B
    """.trimMargin(">")
    println(text)
}

Шаблоны строк по-прежнему работают

В необработанных строках по-прежнему выполняется подстановка $variable и ${expression}. Отключаются только последовательности экранирования.

fun main() {
    val name = "Kotlin"
    val version = 1.9
    val report = """
        Name: $name
        Version: $version
        Build: ${if (version >= 1.0) "stable" else "beta"}
    """.trimIndent()
    println(report)
}

Вставка кавычек как есть

Двойные кавычки внутри строк в тройных кавычках не нужно экранировать — записывайте их как есть.

fun main() {
    val quote = """She said, "Hello!" and smiled."""
    println(quote)
}

Вставка знака доллара как есть

Чтобы вставить знак $ как обычный символ в необработанную строку, используйте приём с шаблоном: ${'$'}.

fun main() {
    val price = """Cost is ${'$'}100"""
    println(price) // Cost is $100
}

На практике: SQL-запрос

Строки в тройных кавычках позволяют сохранять длинные SQL-запросы в исходном коде удобными для чтения.

fun main() {
    val table = "users"
    val sql = """
        SELECT id, name, email
        FROM $table
        WHERE active = true
        ORDER BY name
    """.trimIndent()
    println(sql)
}

Быстрая проверка

Какая функция удаляет общие начальные пробелы из каждой строки необработанной строки?

Итоги

Строки в тройных кавычках сохраняют текст буквально (без экранирования) и могут занимать несколько строк. Используйте trimIndent() или trimMargin(), чтобы убрать лишние отступы. Шаблоны по-прежнему работают; для буквального $ требуется ${'$'}.

Можно начать бесплатно

Изучай Kotlin с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
51
Уроки
203

Часто задаваемые вопросы

Урок «Необработанные строки и тройные кавычки» бесплатный?

Да — полный текст урока «Необработанные строки и тройные кавычки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Academy, подпишись на CoddyKit PRO. Курс Kotlin Academy содержит 4 уроков всего.

Чему я научусь в уроке «Необработанные строки и тройные кавычки»?

Используйте строки в тройных кавычках для многострочного текста и необработанного содержимого без экранирования. Ты практикуешь Kotlin Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Academy?

Предыдущий опыт не требуется. Kotlin Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Необработанные строки и тройные кавычки»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Academy?

Да. Каждый урок Kotlin Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы строк: литералы, escape-последовательности и длина
  2. Шаблоны строк: $variable и ${expression}
  3. Необработанные строки и тройные кавычки
  4. Основные функции строк: trim, split, replace, contains
← Назад к Kotlin Academy