📖 Scenario: You are creating a simple Kotlin program to display a formatted message using multiline strings. Multiline strings help keep text readable and maintain the intended layout.
🎯 Goal: Build a Kotlin program that uses a multiline string with trimIndent() to remove extra indentation and print a clean, formatted message.
📋 What You'll Learn
Create a multiline string variable with indented text
Use trimIndent() to remove common leading whitespace
Print the cleaned multiline string
💡 Why This Matters
🌍 Real World
Multiline strings with trimIndent are useful for writing formatted text blocks like messages, SQL queries, or JSON in Kotlin code without extra spaces.
💼 Career
Understanding multiline strings and trimming indentation helps write cleaner, more readable Kotlin code, a skill valuable for Android and backend Kotlin developers.
Progress0 / 4 steps
1
Create a multiline string variable
Create a multiline string variable called message with the following exact content including indentation:
"""
Hello,
Welcome to Kotlin programming!
Enjoy learning.
"""
Kotlin
Hint
Use triple quotes """ to start and end the multiline string.
2
Apply trimIndent() to the multiline string
Add trimIndent() to the message variable to remove the common leading whitespace from each line.
Kotlin
Hint
Call trimIndent() immediately after the multiline string.
3
Print the trimmed multiline string
Write a println statement to print the message variable.
Kotlin
Hint
Use println(message) to display the text.
4
Run and verify the output
Run the program and verify that the output matches exactly:
Hello,
Welcome to Kotlin programming!
Enjoy learning.
Kotlin
Hint
The printed text should have no leading spaces on each line.
Practice
(1/5)
1. What does the trimIndent() function do when used with multiline strings in Kotlin?
easy
A. It converts the string to uppercase.
B. It adds extra spaces at the beginning of each line.
C. It splits the string into a list of lines.
D. It removes the common leading whitespace from each line.
Solution
Step 1: Understand the purpose of trimIndent()
The function trimIndent() removes the common leading whitespace from every line in a multiline string.
Step 2: Effect on multiline strings
This makes the string output aligned neatly without extra indentation caused by code formatting.
Final Answer:
It removes the common leading whitespace from each line. -> Option D
Quick Check:
trimIndent() = removes leading spaces [OK]
Hint: trimIndent() cleans leading spaces for neat multiline strings [OK]
Common Mistakes:
Thinking trimIndent() adds spaces instead of removing
Confusing trimIndent() with uppercase conversion
Assuming trimIndent() splits strings into lines
2. Which of the following is the correct syntax to create a multiline string with trimmed indentation in Kotlin?
easy
A. val text = """Hello\nWorld""".trimIndent()
B. val text = "Hello\nWorld".trimIndent()
C. val text = '''Hello\nWorld'''.trimIndent()
D. val text = ""Hello\nWorld"".trimIndent()
Solution
Step 1: Identify multiline string syntax
Kotlin uses triple double quotes """ to create multiline strings.
Step 2: Apply trimIndent() correctly
Calling trimIndent() on the multiline string removes common leading spaces.
Final Answer:
val text = """Hello\nWorld""".trimIndent() -> Option A
Hint: Use triple quotes """ for multiline strings with trimIndent() [OK]
Common Mistakes:
Using single quotes instead of triple quotes
Trying to trimIndent() on a normal string
Wrong quote count causing syntax errors
3. What will be the output of the following Kotlin code?
val text = """
Kotlin
is
fun
""".trimIndent()
println(text)
medium
A. Kotlin
is
fun
B. Kotlin
is
fun
C. Kotlin
is
fun
D. Kotlin is fun
Solution
Step 1: Analyze the multiline string with indentation
The string has 4 spaces before each line inside the triple quotes.
Step 2: Effect of trimIndent()
trimIndent() removes the common 4-space indentation from all lines.
Final Answer:
Kotlin
is
fun -> Option C
Quick Check:
trimIndent() removes leading spaces = clean lines [OK]
Hint: trimIndent() removes common leading spaces from all lines [OK]
Common Mistakes:
Expecting original indentation to remain
Confusing trimIndent() with trim() which removes only ends
Thinking output is a single line string
4. Identify the error in this Kotlin code snippet using multiline strings and trimIndent():
val message = """
Hello
World
"".trimIndent()
println(message)
medium
A. Missing one double quote in the closing triple quotes.
B. The closing triple quotes should be """ not "".
C. No error; code runs and prints correctly.
D. Incorrect use of trimIndent() on a non-multiline string.
Solution
Step 1: Check triple quote syntax
Multiline strings require triple double quotes """ at start and end.
Step 2: Identify the closing quotes
The code uses only two double quotes "" at the end, which is invalid syntax.
Step 3: Correct the closing quotes
It should be """ to properly close the multiline string.
Final Answer:
The closing triple quotes should be """ not "". -> Option B
Quick Check:
Triple quotes must match at start and end [OK]
Hint: Always close multiline strings with triple quotes """ [OK]
Common Mistakes:
Using two quotes instead of three to close multiline strings
Assuming trimIndent() fixes quote errors
Confusing trimIndent() with trimming quotes
5. You want to create a multiline string in Kotlin that shows a list of fruits without extra indentation in the output. Which code snippet correctly achieves this using trimIndent()?
hard
A. val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits)
B. val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits)
C. val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits)
D. val fruits = "- Apple\n- Banana\n- Cherry".trimIndent()
println(fruits)
Solution
Step 1: Understand trimIndent() effect on indentation
trimIndent() removes the common leading spaces from all lines, aligning text properly.
Step 2: Check each option's indentation
val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits) has consistent 4-space indentation on each line, so trimIndent() will remove it neatly.
Step 3: Evaluate other options
val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits) has uneven indentation, so trimIndent() removes nothing and leaves extra spaces on some lines. val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits) has uneven indentation, so trimIndent() won't align all lines properly. val fruits = "- Apple\n- Banana\n- Cherry".trimIndent()
println(fruits) is a normal string, trimIndent() has no effect.
Final Answer:
val fruits = """
- Apple
- Banana
- Cherry
""".trimIndent()
println(fruits) -> Option A