私はPerlでこの種のものを数え切れないほど使用しました:
for ( $someVariable ) {
s/findthis/replaceitwiththis/g;
s/findthat/replaceitwithsomethingelse/g;
}
の値$someVariable
は一時的に$_
あり、変数は「インプレース」で更新されます。新しい置換コマンドはそれぞれ、変数の内容を更新/上書きし続けます。これは、単純なループで多くの変更を行うための便利でコンパクトな方法です。
Powershellには、この「for」の使用に相当するものがありますか?
@neoliskからの応答に続いてコメントを追加し、フォーマットを使用できるようにします。
$s = 'abcde'
$s | foreach {
$_ -replace 'a','x'
$_ -replace 'e','z'
}
write-host "And: $s"
画面に表示される結果:
xbcde
abcdz
And: abcde
また、などを試し$_ = $_ -replace 'a','x'
ました。「インプレース」置換を取得するには、ここでいくつかの追加の構文が必要です。
@Nachtからの返信に続いてさらに編集します。これは機能しますが、私はバックティックに夢中ではありません。
$s = 'now is the time for all good individuals blah blah'
Write-Host $s
$s = $s `
-replace "now", 'NEVER' `
-replace 'time', 'moment' `
-replace "blah\s+blah", '-- oh, WHATEVER'
Write-Host $s
出力:
now is the time for all good individuals blah blah
NEVER is the moment for all good individuals -- oh, WHATEVER