PowerShellでLeft,Right,Midをしたい場合・文字列の切り出しSubstring

PowerShell

PowerShellで文字列の切り出しを行う場合は .NET Framework Stringクラスの Substring メソッドを利用し, 切り出し開始位置と文字数を指定することで部分文字列を取得できます

書式

文字列.String(取得開始位置 [, 取得文字数])

尚、スタート値は0からのスタートになります。

Left 左端から切り出し

 先頭(左端)からの文字列取得になります。

# 取得文字数
$n = 10
$s = "abcdefghijklmnopqrstuvwxyz"
Write-Host ($s.Substring(0, $n)) # abcdefghij

Right 右端から切り出し

右端から指定文字数を切り出したい場合は、 第1引数に「文字数 – 取得文字数」を指定します。
第2引数は省略するか、「取得文字数」を指定します。

# 取得文字数
$n = 3
$s = "abcdefghijklmnopqrstuvwxyz"

# 第2引数省略
Write-Host ($s.Substring($s.Length - $n)) # xyz

# 第2引数指定
Write-Host ($s.Substring($s.Length - $n, $n)) # xyz

Midを実現す

中間の文字列をとってみます。

$s = "abcdefghijklmnopqrstuvwxyz"
$s.Substring(5, 6) # fghijk

コメント