PowerShell でサブストリングを抽出する
Windows 管理者としての一般的なシナリオは、サブ文字列と呼ばれる文字列内の特定のテキストスニペットを見つける方法を見つけることです。Windows PowerShell を使用すると、部分文字列を簡単に見つけることができます。
この記事では、PowerShell の文字列ライブラリを使用して文字列内の部分文字列を効率的に抽出する方法について説明します。
PowerShell で Substring()
メソッドを使用してサブストリングを抽出する
Substring()
メソッドを使用して、文字列内の文字列を見つけることができます。たとえば、'Hello World is in here Hello World!'
のような文字列があり、最初の 4 文字を検索したいとします。
サンプルコード:
$sampleString = 'Hello World is in here Hello World!'
$sampleString.Substring(0,5)
出力:
Hello
Substring()
メソッドで渡す最初の引数は、左端の文字の位置、つまり'H'
です。渡す 2 番目の引数は、一番右端の文字位置、つまりスペース文字です。
Substring()
メソッドは、2 番目の文字の文字位置の前にあるすべての文字を返します。
PowerShell の Length
メソッドを使用して部分文字列を動的に検索する
文字列 $sampleID = 'John_Marc_2021'
を使用して、以下の例のようにする代わりに、最後の 4 文字を検索します。
サンプルコード:
$sampleID = 'John_Marc_2021'
$sampleID.SubString(0,4)
出力:
John
0
を $sampleID.Length - 4
引数に置き換えることができ、2 番目の引数を指定する必要はありません。Length
文字列メソッドは、最後の文字の位置を返します。
指定された文字列の文字の総数である文字列の Length
メソッドを使用し、その数から差し引くことで、部分文字列を動的に選択できます。
サンプルコード:
$sampleID = 'John_Marc_2021'
$sampleID.SubString($sampleID.Length - 4) # The - 4 in the expression will subtract the Length of the substring.
出力:
2021
終了位置を指定しない場合、PowerShell サブストリングメソッドは常にデフォルトで最後の文字位置になります。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn