Bird
Raised Fist0
Kotlinprogramming~10 mins

String methods (substring, split, trim) in Kotlin - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to get the substring "Hello" from the string.

Kotlin
val text = "Hello, World!"
val sub = text.[1](0, 5)
println(sub)
Drag options to blanks, or click blank then click option'
Asubstring
Bsplit
Ctrim
Dreplace
Attempts:
3 left
💡 Hint
Common Mistakes
Using split instead of substring will not extract a substring by index.
Using trim removes spaces but does not extract parts of the string.
2fill in blank
medium

Complete the code to split the string into words using space as separator.

Kotlin
val sentence = "Kotlin is fun"
val words = sentence.[1](" ")
println(words.joinToString(", "))
Drag options to blanks, or click blank then click option'
Atrim
Bsplit
Csubstring
Dreplace
Attempts:
3 left
💡 Hint
Common Mistakes
Using substring will not split the string into parts.
Using trim only removes spaces at the ends, not inside the string.
3fill in blank
hard

Fix the error in the code to remove spaces from the start and end of the string.

Kotlin
val raw = "  Kotlin  "
val clean = raw.[1]()
println("'$clean'")
Drag options to blanks, or click blank then click option'
Atrim
Bsplit
Csubstring
Dreplace
Attempts:
3 left
💡 Hint
Common Mistakes
Using split will not remove spaces but split the string.
Using substring requires indexes and does not remove spaces automatically.
4fill in blank
hard

Fill both blanks to get the last word from the sentence.

Kotlin
val sentence = "Learn Kotlin easily"
val words = sentence.[1](" ")
val lastWord = words[[2]]
println(lastWord)
Drag options to blanks, or click blank then click option'
Asplit
Btrim
C2
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using trim instead of split will not create a list of words.
Using index 0 will give the first word, not the last.
5fill in blank
hard

Fill all three blanks to extract "Kotlin" from the string with spaces.

Kotlin
val raw = "  Learn Kotlin  "
val clean = raw.[1]()
val words = clean.[2](" ")
val word = words[[3]]
println(word)
Drag options to blanks, or click blank then click option'
Atrim
Bsplit
C1
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Not trimming first leaves spaces in the words.
Using index 0 selects "Learn", not "Kotlin".

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