
PowerShellのコマンド操作で文字列の一部を切り出したい(抽出したい)ときがあります。そこでここでは、PowerShellのコマンドで文字列の一部を切り出す基本的な方法を紹介します。
目次
位置と文字数を指定して取り出す
PowerShellで文字列を切り出す場合のもっとも一般的な方法は、Substringメソッドを使った方法で、表計算ソフトのエクセルにあるRight・Mid・Left関数の様に文字列を切り出すことができます。
たとえば、以下のような文字列から一部を切り出してみます。
PS> $str = 'date=2026-07-10'文字列の先頭から3文字を切り出したいときは、以下のようにコマンドを実行します。
PS> $str.SubString(0, 3)
dat文字列の5文字目から2文字切り出したいときは、以下のようにコマンドを実行します。
PS> $str.SubString(4, 2)
=2文字列の6文字目から末尾までを取り出したいときは、以下のようにコマンドを実行します。
PS> $str.SubString(5)
2026-07-10文字列の末尾(右側)から2文字切り出したいときは、以下のようにコマンドを実行します。
PS> $str.SubString($str.Length - 2)
10特定の文字の前・後を切り出す
先ほどと同じように、以下の文字列で特定の文字で区切って取り出してみます。
PS> $str = 'date=2026-07-10'たとえば、文字列の「=」より後を取り出したいときは、以下のようにコマンドを実行します。
PS> $str -split '=' | Select-Object -Last 1
2026-07-10または、以下のようにコマンドを実行することでも同じ結果を得られます。
PS> $array = $str -split '='
PS> $array[1]
2026-07-10文字列の「=」の前を取り出したいときは、以下のようにコマンドを実行します。
PS> $str -split '=' | Select-Object -First 1
dateまたは、以下のようにコマンドを実行することでも同じ結果を得られます。
PS> $array = $str -split '='
PS> $array[0]
dateあとがき
ここで紹介した方法は基本的な切り出し方で、これ以外にもいろいろな方法がありますが、まずはここで紹介している方法をマスターしておけば、大抵のケースでは事足りるのではないでしょうか。