Kotlin Academy · Lezione

Stringhe raw e virgolette triple

Utilizzi stringhe racchiuse tra virgolette triple per testi multilinea e contenuti raw senza caratteri di escape.

Lezione 3 di 413 passaggi

Stringhe raw e virgolette triple è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.

Che cos'è una stringa raw?

Una stringa raw usa le triple virgolette """...""" e preserva il testo esattamente come è stato scritto: nessuna sequenza di escape e nessun carattere speciale.

Stringa raw di base

Le stringhe tra triple virgolette possono estendersi su più righe senza usare esplicitamente \n.

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

Nessuna sequenza di escape necessaria

All'interno di una stringa raw, le barre rovesciate e le virgolette vengono visualizzate letteralmente. È perfetta per i pattern regex e i percorsi di Windows.

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

JSON su più righe

Le stringhe raw sono perfette per incorporare valori letterali JSON, SQL o HTML: non è necessario aggiungere sequenze di escape ovunque.

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

trimIndent()

trimIndent() rimuove gli spazi bianchi iniziali comuni da ogni riga, consentendo di indentare ordinatamente il codice sorgente e mantenere un output pulito.

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

trimMargin()

trimMargin() rimuove un marcatore di margine iniziale (il valore predefinito è |). Lo usi quando un allineamento esplicito è preferibile alla corrispondenza dei rientri.

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

Carattere di margine personalizzato

Passi qualsiasi carattere a trimMargin per personalizzare il marcatore.

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

I template di stringa funzionano ancora

Le stringhe raw interpolano ancora $variable e ${expression}. Vengono disattivate solo le sequenze di escape.

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)
}

Inserire virgolette letterali

Le virgolette doppie all'interno delle stringhe tra virgolette triple non richiedono l'escape: può scriverle così come sono.

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

Inserire letteralmente il simbolo del dollaro

Per inserire un $ letterale in una stringa raw, utilizzi il trucco dei template: ${'$'}.

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

Esempio pratico: query SQL

Le stringhe tra virgolette triple mantengono leggibili nel codice sorgente le query SQL lunghe.

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

Verifica rapida

Quale funzione rimuove gli spazi bianchi iniziali comuni da ogni riga di una stringa raw?

Riepilogo

Le stringhe tra virgolette triple preservano il testo alla lettera, senza escape, e possono estendersi su più righe. Utilizzi trimIndent() o trimMargin() per sistemare il rientro. I template continuano a funzionare; per un $ letterale serve ${'$'}.

Gratis per iniziare

Impara Kotlin con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «Stringhe raw e virgolette triple» è gratuita?

Sì — il testo completo di «Stringhe raw e virgolette triple» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.

Cosa imparerò in «Stringhe raw e virgolette triple»?

Utilizzi stringhe racchiuse tra virgolette triple per testi multilinea e contenuti raw senza caratteri di escape. Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Kotlin Academy?

Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Stringhe raw e virgolette triple»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?

Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Nozioni di base sulle stringhe: literal, sequenze di escape e lunghezza
  2. Template di stringa: $variable e ${expression}
  3. Stringhe raw e virgolette triple
  4. Funzioni fondamentali per le stringhe: trim, split, replace, contains
← Torna a Kotlin Academy