2017-08-29 101 views
1

有困難訂購物品......訂單項目:A,B,AA,AB

我想處理文件,與該項目被上傳到SharePoint以正確的順序最終結果。

在我需要處理的數據(CSV)中,我有一個名爲Version的列,這是一段限於兩個字符的文本。第一個版本是A,範圍爲ZZ

一個正常的項目可能看起來像這樣。這裏有三個版本的項目1,我可以按版本列上的升序對它們進行排序。

A 
AA 
AB 
B 

當我需要的順序:

Title: item 1 
Version: A 

Title: item 1 
Version: B 

Title: item 1 
Version: C 

問題

Title: item 2 
Version: A 

Title: item 2 
Version: B 

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

Title: item 2 
Version: AA 

Title: item 2 
Version: AB 

使用的 '版本' 升序排序表達式,這將按照以下順序進行排序成爲:

A 
B 
AA 
AB 

有關如何實現上述目標的任何想法?

+3

'排序 - 對象{$ _.Version.Length},版本' – PetSerAl

回答

6

左墊的空間,它會按字母排列順序先A

$sortedByVersion = $items |Sort -Property {$_.Version.PadLeft(2,' ')} 

使用裸串下面是一個例子:

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 
+0

優秀,總有一個簡單的解決方案!謝謝。 – dhendry

+0

這是真棒數學:) –

相關問題