What if you could cut and clean text perfectly every time with just one simple command?
Why String methods (substring, split, trim) in Kotlin? - Purpose & Use Cases
Imagine you have a long sentence and you want to find just one word or remove extra spaces by hand. You try cutting the sentence with scissors or writing each word separately on paper. It takes a lot of time and mistakes happen easily.
Doing this by hand is slow and tiring. You might cut the wrong part or miss spaces. If the sentence changes, you have to do everything again. It's hard to keep track and fix errors.
String methods like substring, split, and trim let the computer do this work quickly and correctly. You tell it what part you want or how to split the sentence, and it handles the details perfectly every time.
val word = sentence.substring(0, 4) val parts = sentence.split(' ') val clean = sentence.trim()
val word = sentence.substring(0..3) val parts = sentence.split(' ') val clean = sentence.trim()
These methods let you easily extract, separate, and clean text so you can focus on what the words mean, not how to cut or clean them.
When you get a full address as one string, you can split it into street, city, and zip code, or remove extra spaces before saving it in a form.
Manual text handling is slow and error-prone.
String methods automate cutting, splitting, and cleaning text.
They make working with text faster, easier, and more reliable.
Practice
trim() method do when called on a string?Solution
Step 1: Understand the purpose of
Thetrim()trim()method removes whitespace characters from the beginning and end of a string.Step 2: Compare with other string methods
Unlikesplit()orsubstring(),trim()does not split or extract parts but cleans spaces around the string.Final Answer:
Removes spaces from the start and end of the string -> Option DQuick Check:
trim() removes outer spaces [OK]
- Thinking trim() splits the string
- Confusing trim() with substring()
- Assuming trim() changes case
text?Solution
Step 1: Recall Kotlin substring syntax
The correct method call issubstring(startIndex, endIndex)where endIndex is exclusive.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.Final Answer:
text.substring(2, 5) -> Option CQuick Check:
substring(start, end) uses exclusive end [OK]
- Using range syntax inside substring
- Wrong method name capitalization
- Confusing inclusive vs exclusive end index
val data = " apple, banana , cherry "
val fruits = data.trim().split(",")
println(fruits[1].trim())Solution
Step 1: Apply trim() on the original string
Callingtrim()removes spaces at start and end, so string becomes "apple, banana , cherry".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".Final Answer:
banana -> Option BQuick Check:
trim() cleans spaces after split [OK]
- Not trimming after split, leaving spaces
- Assuming split trims automatically
- Confusing index positions in list
val sentence = "Hello World" val part = sentence.substring(6, 5) println(part)
Solution
Step 1: Check substring parameters
substring(startIndex, endIndex) requires startIndex ≤ endIndex. Here, startIndex=6 and endIndex=5, which is invalid.Step 2: Understand Kotlin substring behavior
This causes an exception because the end index is less than the start index.Final Answer:
substring end index is less than start index causing error -> Option AQuick Check:
substring end must be ≥ start [OK]
- Assuming substring indexes are inclusive
- Using end index less than start index
- Thinking substring accepts one argument only
input = " red, green , blue , yellow ", write Kotlin code to create a list of trimmed color names without spaces. Which code snippet correctly achieves this?Solution
Step 1: Split the string by commas
Usingsplit(",")breaks the string into parts including spaces.Step 2: Trim spaces from each part
Usingmap { it.trim() }removes spaces from each color name, producing a clean list.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.Final Answer:
input.split(",").map { it.trim() } -> Option AQuick Check:
Split then trim each part for clean list [OK]
- Trimming before split only removes outer spaces
- Trying to trim a list directly
- Incorrect chaining of methods
Ready to prove it?
Pass the test and this pattern moves unknown
