PowerShell でサブストリングを抽出する

Marion Paul Kenneth Mendoza 2023年6月21日
  1. PowerShell で Substring() メソッドを使用してサブストリングを抽出する
  2. PowerShell の Length メソッドを使用して部分文字列を動的に検索する
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 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