Strings
String Interpolation
val name = "Link"
// string concatenationprintln("Hello " + name)
// string interpolationprintln("Hello $name")
// string templatesprintln("$name.length is ${name.length}") // "Link.lenght is 4"Raw Strings
Raw strings can contain newlines and arbitrary text. It is delimited by a triple quote ("""):
println(""" $name is the hero of $place""")
// To remove leading whitespace from raw strings use the `trimMargin()`println(""" |$name is the hero |of $place""".trimMargin()// ^ By default, a pipe symbol `|` is used as margin prefix)Regular Expressions
A commonly used tool for parsing and working with strings are regular expressions.
// readLine reads a line of input from the stdinval playerLevelInput = readLine()!! // !! is the "not-null assertion operator"
val regex = playerLevelInput.matches("""\d+""".toRegex())
playerLevel = if (regex) { playerLevelInput.toInt() } else { 1 }💡 Behind the scenes, Kotlin’s Regex type uses Java’s Pattern class when targeting the JVM.