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桁を意味する正規表現です。
関連の記事