【发布时间】:2017-08-02 20:11:17
【问题描述】:
如何从特定的键/值对开始拆分哈希表?
我有如下的哈希表,只是更长:
名称 值 ---- ----- 名称 Alpha 2 岁 定位技巧 开始日期 01-01-31 结束日期未知 名称 Corax 21 岁 位置潜行 收入 40'000 结束日期未知 名字荷鲁斯 22 岁 位置已死 为什么是异端 结束日期 03-30-30我尝试了Group-Object,但失败了。
我特别想按姓名分开,除了姓名、年龄和职位之外的所有内容都不一致。
我的实际问题是,当 Why = Heresy 时,我想解析 Name 和 Age 的哈希表>,不幸的是,数据的原始来源是一个字符串列表,这就是我将其转换为哈希表的原因。
【问题讨论】:
-
我可能弄错了,但哈希表被有意设计为没有“位置”,这与数组不同。我认为您想专门删除名称、年龄等值。如果您的某些记录中有键名您不知道这些键是什么,那么您可以做相反的事情并只保留您想要的特定键吗?
$hashtable | select Name, Age,Position例如? -
我已经更新了我的原始帖子,但是是的......我有点需要在
WHY是Heresy时获取姓名和年龄......而且我可以弄清楚如何像这样解析我的数据,是从一个表变成多个对象或多个表 -
@A.Zia 你能扩展一下吗?当
Why-eq 'Heresy'时,你到底想用Name和Age做什么? -
@A.Zia 在这种情况下,听起来您有一个 array 哈希表,而不是一个,并且您正在尝试过滤它们。请参阅我的编辑。如果您展示用于创建原始哈希表或哈希表数组的代码,也会有所帮助。
-
根据您的示例输出,您的哈希表有多个具有相同名称的键。这是不可能的。哈希表最突出的特点是它们的键是唯一的。请说明您是如何创建哈希表的(更可能是哈希表列表),并说明您对
Group-Object的尝试以及失败的原因。
标签: powershell hash split hashtable