在PowerShell中将数组排序为数字而不是字符串

des4xlb0  于 2022-11-10  发布在  Shell
关注(0)|答案(1)|浏览(131)

希望在PowerShell中将具有数字集合的字符串转换为排序数组对象。但是,它是基于每个字符的ASCII值进行排序的,而不是基于数字的值。例如:我有

[string]$PortException = "3128,53,3389,5985,5986"

使用Sort-Object进行排序时:

$PortExceptionArray = ($PortException.Split(',') | Sort-Object)

阵列的结果如下所示:

3128
3389
53
5985
5986

不过,预计“53”将位居榜首。
有什么想法吗?

h7appiyu

h7appiyu1#

您可以将字符串转换为整数

$PortExceptionArray = $PortException -split ',' | Sort-Object -Property {[int]$_ }

输出:

53
3128
3389
5985
5986

相关问题