Bird
Raised Fist0
Terraformcloud~10 mins

String functions (join, split, format) in Terraform - Interactive Code Practice

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

Complete the code to join the list of strings with a comma.

Terraform
joined_string = join(",", [1])
Drag options to blanks, or click blank then click option'
Aformat
Bsplit
Cvar.list_of_strings
Dconcat
Attempts:
3 left
💡 Hint
Common Mistakes
Using a function name instead of the variable holding the list.
Forgetting to provide the list argument.
2fill in blank
medium

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

Terraform
split([1], var.input_string)
Drag options to blanks, or click blank then click option'
A" "
B","
C"-"
D";"
Attempts:
3 left
💡 Hint
Common Mistakes
Using a comma or other separator instead of a space.
Not quoting the separator string.
3fill in blank
hard

Fix the error in the format function to insert the variable correctly.

Terraform
formatted_string = format("Hello, %s!", [1])
Drag options to blanks, or click blank then click option'
Avar.name[0]
Bvar.name.split
Cvar.names
Dvar.name
Attempts:
3 left
💡 Hint
Common Mistakes
Using an index or method call instead of the variable itself.
Passing a list instead of a string.
4fill in blank
hard

Fill both blanks to join a list with a dash and then split it back into a list.

Terraform
joined = join([1], var.words)
split_list = split([2], joined)
Drag options to blanks, or click blank then click option'
A"-"
B","
D";"
Attempts:
3 left
💡 Hint
Common Mistakes
Using different separators for join and split.
Using commas or semicolons instead of dashes.
5fill in blank
hard

Fill all three blanks to format a string with two variables and then split the result by a space.

Terraform
formatted = format("%s %s", [1], [2])
split_result = split([3], formatted)
Drag options to blanks, or click blank then click option'
Avar.first_name
Bvar.last_name
C" "
D"-"
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up the order of variables.
Using wrong separator for split.

Practice

(1/5)
1. What does the Terraform function join(",", ["a", "b", "c"]) return?
easy
A. "a,b,c"
B. ["a", "b", "c"]
C. "a b c"
D. "abc"

Solution

  1. Step 1: Understand the join function

    The join function combines list elements into a single string using the given separator.
  2. Step 2: Apply join with separator ','

    Joining ["a", "b", "c"] with "," results in the string "a,b,c".
  3. Final Answer:

    "a,b,c" -> Option A
  4. Quick Check:

    join with comma = "a,b,c" [OK]
Hint: Join combines list items with separator into one string [OK]
Common Mistakes:
  • Confusing join output with original list
  • Using space instead of comma as separator
  • Expecting a list instead of a string
2. Which of the following is the correct syntax to split the string "one,two,three" into a list using Terraform?
easy
A. format(",", "one,two,three")
B. split("one,two,three", ",")
C. split(",", "one,two,three")
D. join(",", "one,two,three")

Solution

  1. Step 1: Recall split function syntax

    The split function takes the separator first, then the string to split.
  2. Step 2: Match correct argument order

    Only split(",", "one,two,three") matches the correct syntax.
  3. Final Answer:

    split(",", "one,two,three") -> Option C
  4. Quick Check:

    split(separator, string) = split(",", "one,two,three") [OK]
Hint: split(separator, string) order matters in Terraform [OK]
Common Mistakes:
  • Swapping arguments order in split
  • Using join instead of split
  • Using format instead of split
3. What is the output of this Terraform expression?
format("Hello %s, you have %d messages", "Alice", 5)
medium
A. "Hello Alice, you have 5 messages"
B. "Hello Alice, you have %d messages"
C. "Hello %s, you have %d messages"
D. "Hello %s, you have 5 messages"

Solution

  1. Step 1: Understand format placeholders

    %s is replaced by string, %d by integer in order.
  2. Step 2: Replace placeholders with arguments

    "Alice" replaces %s, 5 replaces %d, producing "Hello Alice, you have 5 messages".
  3. Final Answer:

    "Hello Alice, you have 5 messages" -> Option A
  4. Quick Check:

    format with %s and %d = formatted string [OK]
Hint: format replaces %s and %d placeholders in order [OK]
Common Mistakes:
  • Not replacing placeholders
  • Mixing up %s and %d types
  • Expecting original string without substitution
4. Identify the error in this Terraform code snippet:
locals {
  parts = split(",", "apple,banana,orange")
  result = join(";", parts)
  message = format("Fruits: %s", result)
}
medium
A. join separator should be a list, not a string
B. split function arguments are reversed
C. format placeholder %s cannot accept a string
D. No error, code is correct

Solution

  1. Step 1: Check split function usage

    split separator and string are correctly ordered.
  2. Step 2: Check join and format usage

    join uses string separator ";" correctly; format uses %s for string correctly.
  3. Final Answer:

    No error, code is correct -> Option D
  4. Quick Check:

    split, join, format used correctly = No error, code is correct [OK]
Hint: Check argument order and placeholder types carefully [OK]
Common Mistakes:
  • Swapping split arguments
  • Using wrong placeholder in format
  • Passing wrong types to join
5. You have a list of IP addresses: ["10.0.0.1", "10.0.0.2", "10.0.0.3"]. You want to create a single string with these IPs separated by commas, but enclosed in square brackets like this:
[10.0.0.1,10.0.0.2,10.0.0.3]
Which Terraform expression achieves this?
hard
A. join(",", format("[%s]", ["10.0.0.1", "10.0.0.2", "10.0.0.3"]))
B. format("[%s]", join(",", ["10.0.0.1", "10.0.0.2", "10.0.0.3"]))
C. split(",", format("[%s]", join(",", ["10.0.0.1", "10.0.0.2", "10.0.0.3"])))
D. format(join(",", ["10.0.0.1", "10.0.0.2", "10.0.0.3"]), "[%s]")

Solution

  1. Step 1: Join IP list with commas

    Using join(",", [...]) creates "10.0.0.1,10.0.0.2,10.0.0.3".
  2. Step 2: Use format to add square brackets

    Wrapping the joined string with format("[%s]", ...) adds brackets around it.
  3. Final Answer:

    format("[%s]", join(",", ["10.0.0.1", "10.0.0.2", "10.0.0.3"])) -> Option B
  4. Quick Check:

    join then format = format("[%s]", join(",", ["10.0.0.1", "10.0.0.2", "10.0.0.3"])) [OK]
Hint: Join first, then format to add brackets [OK]
Common Mistakes:
  • Trying to format before join
  • Using split instead of join
  • Incorrect argument order in format
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