获取数组的最后N个元素而不是PowerShell中的第一个元素

时间:2017-12-08 00:42:15

标签: powershell

快速提问。我有以下内容:

$domain = "my.new.domain.com"
$domain.Split('.')[0,1]

...返回值:

my
new

这很好,除了我需要最后两个(domain.com),我不确定如何做到这一点。不幸的是,分裂的数量是可变的(例如test.my.new.domain.com)。如何说“走到尽头并将X计数向后分裂”?

1 个答案:

答案 0 :(得分:2)

要获取数组的最后N个元素,您可以使用以下任一选项:

  • $array | select -Last n
  • $array[-n..-1](←'..'是范围运算符)

示例

$domain = "my.new.domain.com"
$domain.Split('.') | select -Last 2

将导致:

domain
com

注意

使用select,你可以在.NET中使用LINQ方法完成一些工作,例如:

  • 采用第一个/最后N个元素
  • 跳过第一个/最后N个元素
  • 选择不同的元素
  • 选择索引处的元素
  • 选择属性的子集