Kotlin String Literals


Kotlin has two types of string literals:

  • Escaped string
  • Raw string

Escaped string handles special characters by escaping them. Escaping is done with a backslash. The following escape sequences are supported: \t, \b, \n, \r, \', \", \\ and \$. To encode any other character, use the Unicode escape sequence syntax: \uFF00.

val s = "Hello, world!\n"

Raw string delimited by a triple quote """, contains no escaping and can contain newlines and any other characters

val text = """
    for (c in "foo")

Leading whitespace can be removed with trimMargin() function.

val text = """
    |Tell me and I forget.
    |Teach me and I remember.
    |Involve me and I learn.
    |(Benjamin Franklin)

Default margin prefix is pipe character |, this can be set as a parameter to trimMargin; e.g. trimMargin(">").