删除PowerShell数组中的每个第三个元素

时间:2012-02-06 09:29:23

标签: string powershell

我有很长的字符串,我从外部程序复制并粘贴到PowerShell。 拆分后(

  

$变量= $ variable.split( “`N”)

)我收到了我想删除每个第三个元素的数组。 什么是最方便的完成方式? 我想过来自

的循环
  

0到$ variable.lenght() - 1

并检查我是否可以除以3,但也许还有其他方式?

5 个答案:

答案 0 :(得分:2)

如果您需要删除数组中任何3个位置(从0开始:2,5,8,11,14等)的值,请使用以下内容:

$newArray = @()
0..($variable.length) | % {
    if ((($_+1) % 3 ) -ne 0) {
        $newArray += $variable[$_]
    }
}

答案 1 :(得分:2)

$ new = for($ i = 2; $ i -lt $ array.count; $ i + = 3){$ array [$ i]}

这将从第3个元素开始并获得每三个元素。流水线输出保存为$ new。

答案 2 :(得分:1)

$new_variable = $variable | foreach {$i=1} {if ($i++ %3){$_}}

答案 3 :(得分:1)

$i = 0
$variable = $variable.split("`n") | ? {++$i % 3}

答案 4 :(得分:0)

或者

0..($variable.count-1) | foreach { if($_%3) {$variable[$_]} }