删除 Powershell 中数组元素中的重复项

Remove Duplicates within an array element in Powershell

如何在 PowerShell 中删除数组元素中的重复值?

例如:

$array[0] = C1 C1 C3 C3
$array[1] = C1 C1 C2 C2

如何删除 Powershell 中的重复项,以便我拥有:

$array[0] = C1 C3
$array[1] = C1 C2

我尝试了 $array[0] | Select -Unique 但没有成功。没有改变。使用 $array | Select - Unique 删除重复项而不考虑单个数组元素。

有什么好主意吗?

如果您使用 spaces 作为分隔符,这将非常有效,但是如果您的字符串应该有一个 space,那么它将被删除。理想情况下,您可以创建带有特定分隔符的 $array,例如 |;,,这取决于您。

$array=@(
    'C1 C1 C3 C3'
    'C1 C1 C2 C2'
    'C1 C2 C3 C4'
    'C1 C1 C2 C2'
    'C1 C2 C3 C3'
    'C1 C2 C2 C2'
)

for($i=0;$i -lt $array.Count;$i++)
{
    $array[$i] = ($array[$i] -split '\s+' | Select-Object -Unique) -join ' '
}

PS /> $array
C1 C3
C1 C2
C1 C2 C3 C4
C1 C2
C1 C2 C3
C1 C2