PowerShell の置換演算子は、パターン マッチングに正規表現 (regex) を使用します。 文字列内のテキストをワイルドカードに置き換えるには、PowerShell の置換演算子で正規表現を使用して実行できます。
この記事では、PowerShell の置換演算子でワイルド カード文字と正規表現を使用した置換を使用する方法について説明します。
PowerShell ですべてのテキストをワイルドカードに置き換える
開始文字列を含む文字列内のすべてのテキストを検索するには、PowerShell の置換演算子を使用して、ワイルドカードを使用してテキストを検索し、それらを新しい文字列に置き換えます。
たとえば、文字列 ” を含む文字列 $str があるとします。アセンブリ バージョン=1.0.0.0「
文字列の後に始まるすべてのテキストを置き換えたい バージョン= 新しい弦で バージョン=1.0.0.1
$str = "Assembly Version=1.0.0.0" $str -replace 'Version=.*?.*','Version=1.0.0.1'
上記の PowerShell スクリプトでは、$str に文字列が含まれています。
PowerShell を使用しました 交換 文字列に対する演算子を使用して、後に始まる文字列を見つけます バージョン= ワイルドカードを使用して新しい文字列に置き換えます。
文字列をワイルドカードに置き換える上記の PowerShell スクリプトの出力は次のとおりです。
PowerShell の replace() メソッドは正規表現を使用しないため、一致するパターンを実行できません。 PowerShell の置換演算子を使用する必要があります。
クールなヒント: PowerShell でファイル内の行を置き換える方法!
指定された文字列の後に始まるすべてのテキストを検索して新しい文字列に置き換えるもう 1 つの方法は、次の正規表現を使用することです。 PowerShell の置き換え オペレーター。
後のすべてのテキストを検索する上記の例を考えてみましょう。 バージョン= PowerShell 文字列の新しいテキストに置き換えます。
$str = "Assembly Version=1.0.0.0" # Use the regex expression to replace text $str -replace 'Version=.+$','Version=1.0.0.1'
上記の PowerShell スクリプトでは、 $str 変数は文字列データを格納します。
PowerShell の使用 交換 正規表現による演算子 .+$ 文字列の末尾までの 1 つ以上の文字を探すには、 バージョン=1.0.0.0 新しい弦で バージョン=1.0.0.1
文字列内のテキストを置き換えた後の上記の PowerShell スクリプトの出力は次のとおりです。
PS C:> $str = "Assembly Version=1.0.0.0"
PS C:> $str -replace 'Version=.+$','Version=1.0.0.1'
Assembly Version=1.0.0.1
PS C:>
結論
PowerShell の置換演算子を使用してワイルドカードを置換する方法、または正規表現を使用して新しい文字列を検索して置換する方法に関する上記の記事を期待しています。
PowerShell Active Directory コマンドと PowerShell の基本に関するその他のトピックについては、ShellGeek のホームページを参照してください。
The post PowerShell をワイルドカードに置き換える – ShellGeek appeared first on Gamingsym Japan.