如何评估PSObjects上的字符串?

时间:2013-09-20 10:50:01

标签: string parsing search powershell-v3.0 psobject

我对物体的概念仍然很陌生,无法解决这个问题:

PS C:\Windows\system32> $obj1 = New-Object psobject
$obj1 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blah"

$obj2 = New-Object psobject
$obj2 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blih blah"

$obj2 | %{$obj1 -match $_}
False

好的,好像我不能在PSCustomObject System.Object上使用-match操作符显然是因为两个对象中都存在字符串“blah”。

所以,如果我尝试:

PS C:\Windows\system32> $arr1 = @("blah")
$arr2 = @("blih blah")
$arr1 | %{$arr2 -match $_}
blih blah

然后它的作品! 所以呢?我是否需要将任何PSCustomObject System.Object转换为Object System.Array 在我可以使用“-match”之类的运算符之前

当然,必须有一种快速直接的方法直接从PSCustomObject System.Object执行此操作,不是吗?

我想做的就是解析2 PSCustomObject System.Object并检查第一个的值是否以某种方式存在于第二个中(完全匹配,部分匹配等)。

非常感谢!

1 个答案:

答案 0 :(得分:0)

$obj1 = New-Object psobject
$obj1 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blah"

$obj2 = New-Object psobject
$obj2 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blih blah"

$obj1 | %{$obj2.Whatever -match $_.Whatever}
相关问题