我有很长的字符串,我从外部程序复制并粘贴到PowerShell。 拆分后(
$变量= $ variable.split( “`N”)
)我收到了我想删除每个第三个元素的数组。 什么是最方便的完成方式? 我想过来自
的循环0到$ variable.lenght() - 1
并检查我是否可以除以3,但也许还有其他方式?
答案 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[$_]} }