split breaks a string into an array using the separator.
join combines array elements into a string with the separator between them.
Examples
Splits the string at each comma into an array of fruits.
Ruby
"apple,banana,orange".split(",")
Splits the string at spaces by default.
Ruby
"hello world".split
Joins array elements with a dash between them.
Ruby
["a", "b", "c"].join("-")
Joins array elements without any separator.
Ruby
["one", "two", "three"].join
Sample Program
This program splits a sentence into words, prints each word, then joins them with dashes and prints the result.
Ruby
sentence = "Ruby is fun"
words = sentence.splitputs"Words:"
words.each { |word| puts word }
joined = words.join("-")
puts"Joined with dashes:"puts joined
OutputSuccess
Important Notes
If you don't give a separator to split, it splits on whitespace.
join works only on arrays, not strings.
Both methods help change how text is organized and displayed.
Summary
split turns a string into an array by cutting at separators.
join turns an array into a string by connecting elements with a separator.
Use them to easily change between strings and lists of words or parts.
Practice
(1/5)
1. What does the Ruby method split do when called on a string?
easy
A. It divides the string into an array based on a separator.
B. It combines array elements into a single string.
C. It changes all characters to uppercase.
D. It removes spaces from the string.
Solution
Step 1: Understand the purpose of split
The split method breaks a string into parts wherever a separator is found.
Step 2: Identify the output type
After splitting, the output is an array containing the separated parts of the string.
Final Answer:
It divides the string into an array based on a separator. -> Option A
Quick Check:
split = divide string into array [OK]
Hint: Split cuts strings into arrays at separators [OK]
Common Mistakes:
Thinking split joins array elements
Confusing split with uppercase conversion
Assuming split removes spaces without separator
2. Which of the following is the correct syntax to join an array ["a", "b", "c"] into a string separated by dashes in Ruby?
easy
A. ["a", "b", "c"].split("-")
B. ["a", "b", "c"].join("-")
C. "a-b-c".join(["a", "b", "c"])
D. "a-b-c".split(["a", "b", "c"])
Solution
Step 1: Identify the method to combine array elements
The join method is used on arrays to create a string with a separator.
Step 2: Check the syntax for join with a separator
The syntax is array.join(separator), so ["a", "b", "c"].join("-") is correct.
Final Answer:
["a", "b", "c"].join("-") -> Option B
Quick Check:
join(array) with separator = correct syntax [OK]
Hint: Use array.join(separator) to combine elements [OK]
Common Mistakes:
Using split instead of join to combine
Calling join on a string instead of array
Passing array as argument to split or join incorrectly
3. What is the output of this Ruby code?
sentence = "apple,banana,cherry"
fruits = sentence.split(",")
result = fruits.join(" & ")
puts result
medium
A. apple & banana & cherry
B. apple,banana,cherry
C. apple banana cherry
D. ["apple", "banana", "cherry"]
Solution
Step 1: Split the string by commas
The split(",") breaks the string into ["apple", "banana", "cherry"].
Step 2: Join the array with " & " separator
The join(" & ") combines the array elements into the string "apple & banana & cherry".
Final Answer:
apple & banana & cherry -> Option A
Quick Check:
split then join with & = apple & banana & cherry [OK]
Hint: Split by comma, join with & gives 'apple & banana & cherry' [OK]
Common Mistakes:
Expecting original string without changes
Confusing split and join order
Thinking join adds commas automatically
4. The following Ruby code is intended to split a string into words and then join them with a space, but it raises an error. What is the problem?
text = "hello world"
words = text.split
joined = words.join
puts joined()
medium
A. The variable words is not an array.
B. The method split requires an argument.
C. The call joined() is incorrect syntax.
D. The join method cannot be called without a separator.
Solution
Step 1: Check the method calls
split without arguments splits on whitespace correctly. join can be called without arguments to join with empty string.
Step 2: Identify the error in puts joined()
In Ruby, calling a variable like a method with parentheses joined() causes an error because joined is a string, not a method.
Final Answer:
The call joined() is incorrect syntax. -> Option C
Quick Check:
Calling string like method with () = error [OK]
Hint: Don't add () when printing variables in Ruby [OK]
Common Mistakes:
Thinking split needs an argument always
Assuming join requires a separator
Calling variables as methods with parentheses
5. Given a string data = "red;green;blue;yellow", write Ruby code to split it into an array, remove the color "blue", and then join the remaining colors with commas. What is the correct output?
hard
A. "red;green;yellow"
B. "red,green,blue,yellow"
C. "red green yellow"
D. "red,green,yellow"
Solution
Step 1: Split the string by semicolons
Using split(";") on data gives ["red", "green", "blue", "yellow"].
Step 2: Remove "blue" from the array
Remove "blue" by using array.delete("blue") or array.reject!.
Step 3: Join the remaining elements with commas
Joining with join(",") results in "red,green,yellow".
Final Answer:
"red,green,yellow" -> Option D
Quick Check:
Split by ;, remove blue, join by , = red,green,yellow [OK]
Hint: Split by ; remove item, join by , for final string [OK]
Common Mistakes:
Forgetting to remove "blue" before joining
Joining with wrong separator
Using split without argument or wrong separator
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.