PowerShellで文字列を置換するコードを紹介します。
概要
PowerShellのスクリプト中で文字列を置換したい場合があります。
PowerShellで文字列を置換するには、文字列オブジェクト(変数)の Replace メソッドを利用します。
書式
次の書式を利用します。
[文字列オブジェクト].Replace( [置換したい文字列], [置換文字列] )
記述例
"ぺんぎんクッキー".Replace("クッキー", "キャラメル")
$textvalue.Replace("Penguin", "Duck")
例1
次のスクリプトファイルを作成します。
$strvalue="かるがもサブレ"
$strvalue = $strvalue.Replace("サブレ", "カヌレ")
Write-Host $strvalue
解説
$strvalue
変数の文字列内の "サブレ" を "カヌレ" に置換し置換結果の文字列を
$strvalue
変数に代入します。
Write-Host
コマンドで
$strvalue
変数の内容をコンソールに出力します。
$strvalue = $strvalue.Replace("サブレ", "カヌレ")
Write-Host $strvalue
実行結果
$strvalue
変数に代入した "かるがもサブレ" の「サブレ」が「カヌレ」に置換され、"かるがもカヌレ"がコンソールに出力されます。
例2
以下のスクリプトファイルを作成します。
$lines = Get-Content "c:\develop\product.txt"
foreach ($txt in $lines) {
$rtxt = $txt.Replace("かるがも", "はげたか")
$rtxt = $rtxt.Replace("アイス", "シャーベット")
Write-Host $rtxt
}
解説
Get-Contentコマンドでテキストファイルを読み込み、
$lines
変数に格納します。
$lines = Get-Content "c:\develop\product.txt"
それぞれの行の文字列に対して、「かるがも」を「はげたか」に置換し、「アイス」を「シャーベット」に置換します。
置換結果は
$rtxt
変数に代入し、置換した結果を
Write-Host
コマンドで出力します。
foreach ($txt in $lines) {
$rtxt = $txt.Replace("かるがも", "はげたか")
$rtxt = $rtxt.Replace("アイス", "シャーベット")
Write-Host $rtxt
}
実行結果
以下のテキストファイルを作成します。"c:\develop\product.txt"に配置します。エンコーディングはShift-JISとします。
スクリプトを実行します。「かるがも」を「はげたか」に置換し、「アイス」を「シャーベット」に置換します。
文字列を置換した結果がコンソールに表示されます。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-04-03
作成日: 2023-04-03