Bird
Raised Fist0
PowerShellscripting~20 mins

-replace operator in PowerShell - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
PowerShell Replace Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
What is the output of this PowerShell command using -replace?
Consider the following command:
$text = 'Hello World!'; $text -replace 'World', 'PowerShell'

What will be the output?
PowerShell
$text = 'Hello World!'; $text -replace 'World', 'PowerShell'
AHello World!
BHello PowerShell!
CPowerShell World!
DHelloWorld!
Attempts:
2 left
💡 Hint
The -replace operator replaces the first string with the second in the original text.
💻 Command Output
intermediate
1:30remaining
What does this -replace command output when using regex?
Given this command:
'abc123def' -replace '\d+', 'XYZ'

What is the output?
PowerShell
'abc123def' -replace '\d+', 'XYZ'
Aabc\d+def
Babc123def
CXYZ
DabcXYZdef
Attempts:
2 left
💡 Hint
The pattern '\d+' matches one or more digits.
📝 Syntax
advanced
2:00remaining
Which option correctly uses -replace to remove all vowels from a string?
You want to remove all vowels (a, e, i, o, u) from the string 'PowerShell'. Which command does this correctly?
A'PowerShell' -replace '[aeiou]', ''
B'PowerShell' -replace '[aeiou]+'
C'PowerShell' -replace '[aeiou]'
D'PowerShell' -replace '', '[aeiou]'
Attempts:
2 left
💡 Hint
The -replace operator needs both a pattern and a replacement string.
🔧 Debug
advanced
2:00remaining
Why does this -replace command cause an error?
Look at this command:
'Hello123' -replace 123, 'ABC'

Why does it cause an error?
PowerShell
'Hello123' -replace 123, 'ABC'
ABecause -replace cannot handle numbers in the pattern
BBecause the replacement string is missing
CBecause the pattern must be a string or regex, not a number
DBecause the input string is not quoted
Attempts:
2 left
💡 Hint
Check the type of the pattern argument.
🚀 Application
expert
2:00remaining
How many replacements occur with this command?
Given this command:
'aaaabbbb' -replace 'a', 'x'

How many characters are replaced?
PowerShell
'aaaabbbb' -replace 'a', 'x'
A4
B8
C1
D0
Attempts:
2 left
💡 Hint
The -replace operator replaces all matches by default.

Practice

(1/5)
1. What does the PowerShell -replace operator do?
easy
A. It creates new variables.
B. It deletes files from the system.
C. It replaces parts of a string matching a pattern with new text.
D. It runs a loop over a list.

Solution

  1. Step 1: Understand the purpose of -replace

    The -replace operator is used to find text matching a pattern and replace it with new text.
  2. Step 2: Compare options with the operator's function

    Only It replaces parts of a string matching a pattern with new text. describes replacing parts of a string, which matches the operator's purpose.
  3. Final Answer:

    It replaces parts of a string matching a pattern with new text. -> Option C
  4. Quick Check:

    -replace changes text = A [OK]
Hint: Remember: -replace changes text parts by pattern [OK]
Common Mistakes:
  • Confusing -replace with file or variable commands
  • Thinking it modifies files or variables directly
  • Assuming it runs loops or deletes data
2. Which of the following is the correct syntax to replace 'cat' with 'dog' in the string 'I have a cat' using -replace?
easy
A. 'I have a cat' -replace('cat', 'dog')
B. 'I have a cat' -replace 'cat', 'dog'
C. 'I have a cat' -replace 'cat' 'dog'
D. 'I have a cat' replace 'cat' with 'dog'

Solution

  1. Step 1: Recall the syntax of -replace

    The correct syntax uses -replace followed by two strings separated by a comma: string -replace 'pattern', 'replacement'.
  2. Step 2: Check each option

    'I have a cat' -replace 'cat', 'dog' matches the correct syntax. Options A, B, and D have syntax errors or incorrect usage.
  3. Final Answer:

    'I have a cat' -replace 'cat', 'dog' -> Option B
  4. Quick Check:

    Correct syntax uses comma between pattern and replacement [OK]
Hint: Use comma between pattern and replacement in -replace [OK]
Common Mistakes:
  • Omitting the comma between pattern and replacement
  • Using parentheses like a function call
  • Writing 'replace' without the dash
3. What is the output of this PowerShell command?
'Hello 123' -replace '\d', '#'
medium
A. Hello ###
B. Hello 123
C. Hello \d
D. Error: Invalid pattern

Solution

  1. Step 1: Understand the pattern '\d'

    The pattern '\d' matches any digit character (0-9) in the string.
  2. Step 2: Apply replacement

    Each digit in '123' is replaced by '#', so '123' becomes '###'. The rest of the string remains unchanged.
  3. Final Answer:

    Hello ### -> Option A
  4. Quick Check:

    Digits replaced by '#' = Hello ### [OK]
Hint: Remember '\d' matches digits in regex for -replace [OK]
Common Mistakes:
  • Thinking '\d' is literal text, not a digit pattern
  • Expecting original string unchanged
  • Confusing escape sequences in regex
4. The following command throws an error. What is the problem?
'PowerShell' -replace 's',
medium
A. Missing replacement string after the comma
B. Pattern 's' is invalid
C. The string 'PowerShell' is not quoted
D. The -replace operator cannot be used on strings

Solution

  1. Step 1: Check the -replace syntax

    The -replace operator requires two arguments: a pattern and a replacement string, separated by a comma.
  2. Step 2: Identify the error

    The command ends with a comma but no replacement string, causing a syntax error.
  3. Final Answer:

    Missing replacement string after the comma -> Option A
  4. Quick Check:

    Both pattern and replacement needed [OK]
Hint: Always provide both pattern and replacement strings [OK]
Common Mistakes:
  • Leaving out the replacement string
  • Misunderstanding the comma separator
  • Assuming pattern alone is enough
5. You want to replace all vowels in the string 'Automation' with '*'. Which command correctly does this using -replace?
hard
A. 'Automation' -replace '[aeiou]', '*' -all
B. 'Automation' -replace 'aeiou', '*'
C. 'Automation' -replace '[aeiou]+' '*'
D. 'Automation' -replace '[aeiou]', '*'

Solution

  1. Step 1: Understand the pattern for vowels

    The pattern '[aeiou]' matches any single vowel character in the string.
  2. Step 2: Check the replacement command

    'Automation' -replace '[aeiou]', '*' uses the correct regex pattern and syntax to replace each vowel with '*'. 'Automation' -replace 'aeiou', '*' treats vowels as a literal string, not a pattern. 'Automation' -replace '[aeiou]+' '*' lacks the comma between pattern and replacement, causing a syntax error. 'Automation' -replace '[aeiou]', '*' -all uses an invalid '-all' flag.
  3. Final Answer:

    'Automation' -replace '[aeiou]', '*' -> Option D
  4. Quick Check:

    Use character class '[aeiou]' for vowels [OK]
Hint: Use square brackets for character sets in regex patterns [OK]
Common Mistakes:
  • Not using brackets for character sets
  • Trying to pass multiple arguments without comma
  • Adding unsupported flags like '-all'
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