PowerShell での文字列の置き換え

Marion Paul Kenneth Mendoza 2023年6月21日
  1. PowerShell 文字列の概要
  2. PowerShell で replace() 関数を使用する
  3. PowerShell の replace() 関数を使用して文字を削除する
  4. PowerShell の replace() 関数を使用して複数のインスタンス文字列を置き換える
  5. PowerShell 置換演算子を使用する
  6. PowerShell の置換演算子を使用して文字を削除する
  7. PowerShell の置換演算子を使用して複数のインスタンス文字列を置換する
PowerShell での文字列の置き換え

PowerShell は、多くの言語と同様に文字列とテキストを処理できます。これらの貴重な機能の 1つは、PowerShell を使用して、ファイル内の文字、文字列、またはテキストを置き換えることです。

この記事では、PowerShell の replace() メソッドと PowerShell の置換演算子について説明します。

PowerShell 文字列の概要

PowerShell を使用する最も簡単なケースの 1つは、文字列内の文字を置き換えることです。hello, world 値を持つ PowerShell 文字列があるとします。

サンプルコード:

$string = 'hello, world'

その変数内の文字列 hello を文字列 hi に置き換えて、$string 変数を最終値 hi, world に変更します。

これを行うには、PowerShell は最初に、置き換える特定のテキストを見つける場所を特定する必要があります。見つかったら、PowerShell はテキストをカスタムのユーザー定義変数値に置き換えます。

PowerShell で replace() 関数を使用する

Windows PowerShell で文字列を置き換える便利な方法の 1つは、次に示すように、replace() 関数を使用することです。replace() 関数には、検索する文字列と、見つかったテキストを置き換える文字列の 2つの引数があります。

以下に示すように、Windows PowerShell は文字列 hello を検出し、その文字列を文字列 hi に置き換えます。次に、メソッドは最終結果 hi, world を返します。

サンプルコード:

$string.replace('hello','hi')

出力:

hi, world

任意の文字列で replace() メソッドを呼び出して、任意のリテラル文字列を別の文字列に置き換えることができます。replace() メソッドは、置換される文字列が見つからない場合、何も返しません。

文字列内のテキストを置き換えるために、変数に文字列を割り当てる必要がないことに注意してください。代わりに、'hello world'.replace('hello','hi') のように、文字列に対して直接 replace() メソッドを呼び出すことができます。

PowerShell の replace() 関数を使用して文字を削除する

ある文字列を別の文字列に置き換えるのではなく、別の文字列から文字列を削除したい場合があります。空の文字列を指定することでも、これを行うことができます。

サンプルコード:

$string.replace('hello','')

出力:

, world

PowerShell の replace() 関数を使用して複数のインスタンス文字列を置き換える

replace() 関数は文字列を返すため、別のインスタンスを置き換えるために、別の replace() 関数呼び出しを最後に追加できます。次に、Windows PowerShell は、元の出力で replace() メソッドを呼び出します。

サンプルコード:

$string.replace('hello','').replace('world','globe')

出力:

, globe

必要な数の replace() 関数呼び出しを連鎖させることができますが、置き換える文字列が多い場合は、replace 演算子の使用を検討する必要があります。

PowerShell 置換演算子を使用する

Windows PowerShell の -replace 演算子を使用して、テキストを置き換えることもできます。 -replace 演算子はメソッドに似ています。

検索して置き換える文字列を提供します。上記の例を使用すると、以下に示すように、replace 演算子を使用して hello を hi に置き換えることができます。

サンプルコード:

$string -replace 'hello','hi'

出力:

hi, world

PowerShell の置換演算子を使用して文字を削除する

replace() 関数と同様に、replace 演算子を使用して文字列から文字を削除することもできます。ただし、replace() メソッドとは異なり、置換する引数として文字列を完全に除外することもでき、同じ効果が得られます。

サンプルコード:

$string -replace 'hello',''

出力:

, world

PowerShell の置換演算子を使用して複数のインスタンス文字列を置換する

replace() メソッドと同様に、replace 演算子の使用法を連鎖させることもできます。ただし、以下に示すように、replace 演算子は文字列を返すためです。

サンプルコード:

$string -replace 'hello','hi' -replace 'world','globe'

出力:

hi, globe
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell String