加入m个大小的数组的前n个元素

时间:2013-01-03 20:54:40

标签: arrays string powershell

给出:$array = ("a0", "a1", "b0", "b1")

如何加入 array[0]& array[1];这样:

  

$ a =“a0a1”
   #好像:> $ a = $ a [0] $ a [1]

Simillarly,
得到:$b = "b0b1"

3 个答案:

答案 0 :(得分:4)

您可以选择数组中的元素,然后使用-join运算符:

$array = ("a0", "a1", "b0", "b1")
$a = $array[0..1] -join ''
$b = $array[2..3] -join ''

您可以使用逗号选择不连续的元素。

$array = ("a0", "a1", "b0", "b1")
$c = $array[0,1,3] -join ''

如果您想要加入的元素有一些标准,您可以对数组进行分组,然后加入这些组。

# Joins all elements that start with the same character.
$array = ("a0", "a1", "b0", "b1")
$a = $array| group {$_[0]}| foreach {$_.group -join ''}

答案 1 :(得分:2)

替代解决方案:

$array= ("a1", "a0", "b0", "b1")
$a,$b = &{$ofs='';[string[]]($array[0,1],$array[2,3])}

答案 2 :(得分:0)

未经测试,但我认为它应该有效:

$array | % {
 switch -Regex ($_)
  {
    ('a\d') {$a = "$($a)$($_)"}
    ('b\d') {$b = "$($b)$($_)"}
  }

}
相关问题