Bird
Raised Fist0
Kotlinprogramming~10 mins

String methods (substring, split, trim) in Kotlin - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - String methods (substring, split, trim)
Start with original string
↓
Apply substring(start, end)
↓
Extract substring
↓
Apply split(delimiter)
↓
Create list of substrings
↓
Apply trim() on each substring
↓
Get cleaned substrings list
↓
Use or print results
We start with a string, extract parts using substring, split it into pieces by a delimiter, then trim spaces from each piece.
Execution Sample
Kotlin
val text = "  Hello, Kotlin World!  "
val part = text.substring(2, 7)
val words = text.split(',')
val trimmedWords = words.map { it.trim() }
println(part)
println(trimmedWords)
This code extracts a substring, splits the string by comma, trims spaces from each part, and prints results.
Execution Table
StepActionInputOutputNotes
1Original string" Hello, Kotlin World! "" Hello, Kotlin World! "String with spaces at start and end
2substring(2,7)" Hello, Kotlin World! ""Hello"Extract characters from index 2 to 6
3split(',')" Hello, Kotlin World! "[" Hello", " Kotlin World! "]Split string into list by comma
4trim() each element[" Hello", " Kotlin World! "]["Hello", "Kotlin World!"]Remove spaces from start/end of each substring
5Print substring"Hello"HelloOutput substring
6Print trimmed list["Hello", "Kotlin World!"][Hello, Kotlin World!]Output trimmed list
7End--All operations done
💡 All string methods applied and results printed
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4Final
text" Hello, Kotlin World! "" Hello, Kotlin World! "" Hello, Kotlin World! "" Hello, Kotlin World! "" Hello, Kotlin World! "
partundefined"Hello""Hello""Hello""Hello"
wordsundefinedundefined[" Hello", " Kotlin World! "][" Hello", " Kotlin World! "][" Hello", " Kotlin World! "]
trimmedWordsundefinedundefinedundefined["Hello", "Kotlin World!"]["Hello", "Kotlin World!"]
Key Moments - 3 Insights
Why does substring(2,7) return "Hello" and not include the character at index 7?
substring(start, end) includes characters from start index up to but not including end index, so index 7 is excluded as shown in execution_table step 2.
After splitting by comma, why do the substrings still have spaces?
split() only divides the string at the delimiter but does not remove spaces; trimming is needed separately as shown in step 4.
What does trim() do to each substring?
trim() removes spaces from the start and end of each substring, cleaning them up as seen in step 4 of execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of 'part' after step 2?
A" Hello"
B"Hello"
C"Hello,"
D"Hello, Kotlin"
💡 Hint
Check the output column in execution_table row with Step 2.
At which step does the list change from having spaces to trimmed strings?
AStep 4
BStep 2
CStep 3
DStep 5
💡 Hint
Look at the output column in execution_table rows 3 and 4 to see the difference.
If we change substring(2,7) to substring(0,5), what would be the new value of 'part'?
A"Hello"
B" He"
C" Hel"
D"Hello,"
💡 Hint
Remember substring includes characters from start index up to but not including end index.
Concept Snapshot
String methods in Kotlin:
- substring(start, end): extracts part from start index up to (not including) end index
- split(delimiter): splits string into list by delimiter
- trim(): removes spaces from start and end of string
Use these to extract, divide, and clean strings easily.
Full Transcript
We start with a string that has spaces around it. Using substring(2,7), we extract characters from index 2 up to 6, which gives "Hello". Then we split the original string by comma, creating a list with two parts, but these parts still have spaces. We apply trim() to each part to remove spaces at the start and end. Finally, we print the substring and the cleaned list. This shows how substring, split, and trim work step-by-step.

Practice

(1/5)
1. What does the Kotlin trim() method do when called on a string?
easy
A. Converts the string to uppercase
B. Splits the string into parts based on spaces
C. Extracts a part of the string by index
D. Removes spaces from the start and end of the string

Solution

  1. Step 1: Understand the purpose of trim()

    The trim() method removes whitespace characters from the beginning and end of a string.
  2. Step 2: Compare with other string methods

    Unlike split() or substring(), trim() does not split or extract parts but cleans spaces around the string.
  3. Final Answer:

    Removes spaces from the start and end of the string -> Option D
  4. Quick Check:

    trim() removes outer spaces [OK]
Hint: trim() cleans spaces only at string edges [OK]
Common Mistakes:
  • Thinking trim() splits the string
  • Confusing trim() with substring()
  • Assuming trim() changes case
2. Which of the following is the correct Kotlin syntax to get a substring from index 2 to 5 (exclusive) of a string text?
easy
A. text.substring(2..5)
B. text.subString(2, 5)
C. text.substring(2, 5)
D. text.substring(2, 6)

Solution

  1. Step 1: Recall Kotlin substring syntax

    The correct method call is substring(startIndex, endIndex) where endIndex is exclusive.
  2. Step 2: Check each option

    text.substring(2..5) uses a range which is invalid for substring. text.subString(2, 5) has wrong capitalization. text.substring(2, 6) uses 6 as endIndex which extracts more characters than asked.
  3. Final Answer:

    text.substring(2, 5) -> Option C
  4. Quick Check:

    substring(start, end) uses exclusive end [OK]
Hint: Use substring(start, end) with end exclusive [OK]
Common Mistakes:
  • Using range syntax inside substring
  • Wrong method name capitalization
  • Confusing inclusive vs exclusive end index
3. What is the output of the following Kotlin code?
val data = " apple, banana , cherry "
val fruits = data.trim().split(",")
println(fruits[1].trim())
medium
A. ananab
B. banana
C. anana
D. banan

Solution

  1. Step 1: Apply trim() on the original string

    Calling trim() removes spaces at start and end, so string becomes "apple, banana , cherry".
  2. Step 2: Split by comma and trim the second element

    Splitting by "," gives ["apple", " banana ", " cherry"]. Then trimming the second element " banana " removes spaces, resulting in "banana".
  3. Final Answer:

    banana -> Option B
  4. Quick Check:

    trim() cleans spaces after split [OK]
Hint: Trim after split to remove spaces around parts [OK]
Common Mistakes:
  • Not trimming after split, leaving spaces
  • Assuming split trims automatically
  • Confusing index positions in list
4. Find the error in this Kotlin code snippet:
val sentence = "Hello World"
val part = sentence.substring(6, 5)
println(part)
medium
A. substring end index is less than start index causing error
B. substring method requires only one argument
C. substring indexes are inclusive, so 6 to 5 is valid
D. No error, output is "World"

Solution

  1. Step 1: Check substring parameters

    substring(startIndex, endIndex) requires startIndex ≤ endIndex. Here, startIndex=6 and endIndex=5, which is invalid.
  2. Step 2: Understand Kotlin substring behavior

    This causes an exception because the end index is less than the start index.
  3. Final Answer:

    substring end index is less than start index causing error -> Option A
  4. Quick Check:

    substring end must be ≥ start [OK]
Hint: End index must be >= start index in substring [OK]
Common Mistakes:
  • Assuming substring indexes are inclusive
  • Using end index less than start index
  • Thinking substring accepts one argument only
5. Given a string input = " red, green , blue , yellow ", write Kotlin code to create a list of trimmed color names without spaces. Which code snippet correctly achieves this?
hard
A. input.split(",").map { it.trim() }
B. input.trim().split(",")
C. input.split(",").trim()
D. input.trim().map { it.split(",") }

Solution

  1. Step 1: Split the string by commas

    Using split(",") breaks the string into parts including spaces.
  2. Step 2: Trim spaces from each part

    Using map { it.trim() } removes spaces from each color name, producing a clean list.
  3. Step 3: Evaluate other options

    input.trim().split(",") trims only the ends before splitting, so inner spaces remain. input.split(",").trim() tries to trim a list, which is invalid. input.trim().map { it.split(",") } trims the whole string then maps incorrectly.
  4. Final Answer:

    input.split(",").map { it.trim() } -> Option A
  5. Quick Check:

    Split then trim each part for clean list [OK]
Hint: Split first, then trim each piece with map [OK]
Common Mistakes:
  • Trimming before split only removes outer spaces
  • Trying to trim a list directly
  • Incorrect chaining of methods
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard