订购商品:A,B,AA,AB

dhe*_*dry 1 powershell

订购物品时遇到困难......

我正在尝试处理文件,最终结果是项目以正确的顺序上传到SharePoint.

在我需要处理的数据(CSV)中,我有一个名为的列Version,这是一段限制为两个字符的文本.第一个版本是A,范围ZZ.

正常项目可能如下所示.这里,第1项有三个版本,我可以按版本列的升序对它们进行排序.

Title: item 1
Version: A

Title: item 1
Version: B

Title: item 1
Version: C
Run Code Online (Sandbox Code Playgroud)

问题

Title: item 2
Version: A

Title: item 2
Version: B

...... many versions later ....

Title: item 2
Version: AA

Title: item 2
Version: AB
Run Code Online (Sandbox Code Playgroud)

在'Version'上使用Ascending的排序表达式,将按以下顺序排序:

A
AA
AB
B
Run Code Online (Sandbox Code Playgroud)

当我需要订单时:

A
B
AA
AB
Run Code Online (Sandbox Code Playgroud)

关于如何实现上述目标的任何想法?

Mat*_*sen 6

左边有一个空格,它将A按字母顺序排列:

$sortedByVersion = $items |Sort -Property {$_.Version.PadLeft(2,' ')}
Run Code Online (Sandbox Code Playgroud)

这是使用裸字符串的示例:

PS C:\> "a","b","c","aa","bb","cc"|Sort-Object
a
aa
b
bb
c
cc
PS C:\> "a","b","c","aa","bb","cc"|Sort-Object {$_.PadLeft(2,' ')}
a
b
c
aa
bb
cc
Run Code Online (Sandbox Code Playgroud)