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
コメント