Learning Kotlin: String Templates

DZone 's Guide to

Learning Kotlin: String Templates

Want to learn more about String templating? Here are some examples of string templating with Koan.

· Java Zone ·
Free Resource

The purpose of this lesson is to show off string templating. The Koan starts with some interesting examples:

fun example1(a: Any, b: Any) =
        "This is some text in which variables ($a, $b) appear."

fun example2(a: Any, b: Any) =
        "You can write it in a Java way as well. Like this: " +a + ", " + b + "!"

fun example3(c: Boolean, x: Int, y: Int) = "Any expression can be used: ${if (c) x else y}"

If you are used to string templates from C# and JavaScript, this should be fairly simple to understand.

The fourth example is interesting:

fun example4() =
You can use raw strings to write multiline text.
There is no escaping here, so raw strings are useful for writing regex patterns,
you don't need to escape a backslash by a backslash.
String template entries (${42}) are allowed here.

This brought up something I've never heard of — raw strings. Raw strings seem to be the Python way of saying a Verbatim string, which I didn't know was the official term.

The actual Koan here is about converting fun getPattern() = """\d{2}\.\d{2}\.\d{4}""" to a different regular expression, using a string template:

fun task5(): String = """\d{2}\s$month\s\d{4}"""

It isn't that interesting, and, if you don't know regular expressions, this could be tougher than it needs to be.

java, kotlin, string, tutorial

Published at DZone with permission of Robert Maclean , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}