在数组中移动项目

时间:2016-06-23 22:11:20

标签: arrays string powershell

我希望将数组中的前两项移到最后。

例如,我只想让160210成为021016

这在Powershell中是否可行?

由于

2 个答案:

答案 0 :(得分:2)

从对象数组开始,数组切片表示法$array[a..b]可以为您执行此操作。只连接数组的两个切片 - 一个从元素2到结尾,一个只包含前两个元素。

$array = 1,6,0,2,1,0
$newarray = $array[2..$array.length] + $array[0,1]

如果您从字符串开始,另一个选项是使用正则表达式和PowerShell -replace运算符。

$string = "160210"
$newstring = $string -replace '(..)(.*)','$2$1'

或者只是使用.NET String Substring()方法。

$newstring = $string.Substring(2) + $string.Substring(0, 2)

答案 1 :(得分:1)

您可以将数组的内容分配给3个变量并将其随机播放:

$array = 1,6,0,2,1,0
$first,$second,$rest = $array
$array = $rest + $first + $second