Bird
Raised Fist0
PowerShellscripting~5 mins

-replace operator in PowerShell - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the -replace operator do in PowerShell?
The -replace operator in PowerShell replaces text in a string using a pattern. It searches for a pattern and replaces it with new text.
Click to reveal answer
beginner
How do you replace all occurrences of 'cat' with 'dog' in the string 'cat and cat' using -replace?
Use 'cat and cat' -replace 'cat', 'dog'. This changes both 'cat' words to 'dog', resulting in 'dog and dog'.
Click to reveal answer
intermediate
What kind of pattern does the -replace operator use to find text?
It uses regular expressions (regex) to find patterns in text. This means you can use special symbols to match complex text patterns.
Click to reveal answer
beginner
True or False: The -replace operator changes the original string variable directly.
False. Strings in PowerShell are immutable, so -replace returns a new string with changes. You must assign it to a variable if you want to keep it.
Click to reveal answer
advanced
How can you replace only the first occurrence of a pattern using -replace?
By default, -replace replaces all matches. To replace only the first, you can use the .NET method [regex]::Replace() with a count parameter.
Click to reveal answer
What does 'hello world' -replace 'world', 'PowerShell' output?
APowerShell world
Bhello world
Chello PowerShell
Dhello
Which pattern matching method does -replace use?
ASimple text matching only
BExact match only
CWildcard matching
DRegular expressions
If you want to replace all digits in a string with '#' using -replace, which pattern should you use?
A'\d'
B'[a-z]'
C'\w'
D'\s'
What happens if you run $text = 'apple'; $text -replace 'a', 'o' without assigning the result?
ANothing changes in $text; output shows 'opple'
BThe variable $text changes to 'opple'
CAn error occurs
DThe original string is deleted
How do you replace only the first match of a pattern in PowerShell?
AUse <code>-replace</code> with a special flag
BUse <code>[regex]::Replace()</code> with a count parameter
CUse <code>-replace</code> twice
DIt is not possible
Explain how the -replace operator works in PowerShell and give a simple example.
Think about how you change words in a sentence.
You got /4 concepts.
    Describe how you would replace only the first occurrence of a pattern in a string using PowerShell.
    PowerShell's -replace replaces all by default.
    You got /3 concepts.

      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