PowerShell Replace 文字列を置き換える

PowerShellのReplaceで文字列を置き換えるサンプルです。

目次

サンプル 文字列を置き換える
  指定した文字や空白を削除する
  正規表現で文字を置き換える

文字列を置き換える

"文字列".Replace(置換対象の文字列 , 置換後の文字列)
"文字列" -replace 置換対象の文字列 , 置換後の文字列
  • 1つめの引数の文字列を2つめの引数の文字列に置き換えます。
  • .Replaceは置換対象の文字として英字の大文字と小文字を区別します。
  • -replaceは置換対象の文字として英字の大文字と小文字を区別しません。
$str = "あいうーあいう".Replace('あ', 'A')

Write-Host $str # AいうーAいう

$str = "あいうーあいう" -replace 'あ', 'A'

Write-Host $str # AいうーAいう

一致した文字を全て置き換えます。

 

指定した文字や空白を削除する

Replaceの2つめの引数に空文字を指定することで文字の削除に使用できます。

# 指定の文字(う)を削除する
$str = "あいうえお".Replace('う', '')

Write-Host $str # あいえお

$str = "あいうえお" -replace 'う', ''

Write-Host $str # あいえお

# 半角空白を削除する(△あ△い△う△ +1△△)
$str = " あ い う +1 ".Replace(" ", "")

Write-Host $str # あいえお

$str = " あ い う +1 " -replace " ", ""

Write-Host $str # あいえお

 

正規表現で文字を置き換える

"文字列" -replace 正規表現 , 置換後の文字列
# 正規表現 「あ」または「う」
$str = "あいうーあいう" -replace "[あう]", "a"

Write-Host $str # aいaーaいa

# 正規表現 0から9の5桁
$str = "--12345--" -replace "[0-9]{5}", "*****"

Write-Host $str # --*****--

# 数値が6桁
$str = "--123451--" -replace "[0-9]{5}", "*****"

Write-Host $str # --*****1--

# 2回マッチするので注意
$str = "--1234512345--" -replace "[0-9]{5}", "*****"

Write-Host $str # --**********--

[あう]は、「あ」または「う」を意味する正規表現です。
[0-9]{5}は、数値0から9の5桁を意味する正規表現です。

関連の記事

PowerShell if文のサンプル

△上に戻る