删除 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
如何在 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