PowerShell: 配列のスライス(切り出し)
PowerShellの配列でスライスを行う方法を解説します。 スライスは切り出しや範囲取得とも言われ、 部分的に要素を取り出すことです。 PowerShellでスライスを行う場合、 配列のインデックスに要素の範囲を示す配列を指定します。
次のコードではインデックスをカンマで区切ることで、 2番目、4番目、6番目の要素を取り出します。
$arr = 10..20 # 特定の要素 Write-Host $arr[1, 3, 5] # 11, 13, 15
要素の順番を入れ替えて切り出すこともできます。
$arr = 10..20 # 順序を入れ替えて取得 Write-Host $arr[1, 4, 2, 8] # 11 14 12 18
連続した要素を取得する場合は「..」が使えます。 次のコードでは2番目から4番目までを切り出しています。
$arr = 10..20 # 連続した要素 Write-Host $arr[1..3] # 11 12 13
+演算子を使って部分取得を結合することもできます。
$arr = 10..20 # +演算子を使う Write-Host $arr[1..3 + 7] # 11 12 13 17
次のコードでは連続して切り出した要素同士を+演算子で 結合しています。
$arr = 10..20 # +演算子で連続した要素同士を結合 Write-Host $arr[1..3 + 6..8] # 11 12 13 16 17 18
マイナスの数値を使うことで末尾から取り出すこともできます。 「-1」を指定した場合は末尾要素を取り出します。
# 末尾から $arr = 10..20 Write-Host $arr[-1] # 20
このようにPowerShellでは いろいろな方法で配列のスライス(切り出し)を行うことができます。
スライス機能を使って配列の先頭・末尾要素を削除することもできます。
(参考記事:
配列の先頭・末尾要素を削除する)
(まとめ記事: PowerShell 配列)