Replace()

Replace characters within a string.

Syntax
      .Replace(strOldChar, strNewChar)

Key
   strOldChar  The characters to find.

   strNewChar  The characters to replace them with.

Examples

Replace characters in a string:

PS C:\> "abcdef" -replace "dEf","xyz"

Replace characters in a variable:

PS C:\> $demo = "abcdef"
PS C:\> $demo.replace("dEf","xyz")
abcxyz

Multiple replacements can be chained together in one command:

PS C:\> "abcdef" -replace "dEf","xyz" -replace "cx","-"
ab-yz

Search and Replace characters in a file:

PS C:\> $oldfile = "C:\demo\sourcetext.txt"
PS C:\> $newfile = "C:\demo\newfile.txt"

PS C:\> $text = (Get-Content -Path $oldfile -ReadCount 0) -join "`n"
PS C:\> $text -replace 'dEf', 'xyz' | Set-Content -Path $newfile

Rename file extensions from .log to .txt

PS C:\> dir *.log | rename-item $_ -newname { $_.Name -replace '\.log','.txt' }

Using single quotes around the search strings will ensure that all punctuation is ignored by PowerShell.

An alternative method to read an entire file as a single long text string is the .Net ::ReadAllText method:
$allTheText = [System.Io.File]::ReadAllText($filePath)

“In order to be irreplaceable one must always be different” ~ Coco Chanel

Related:

PowerShell Methods
Replace-FileString.ps1 - Find and Replace across multiple files (Bill Stewart)


© Copyright SS64.com 1999-2013
Some rights reserved