2017-08-29 5 views
1

アイテムを注文する難しさを持って...注文アイテム:A、B、AA、AB

私はアイテムが正しい順序でのSharePointにアップロードされている最終結果で、ファイルを処理しようとしています。

処理する必要があるデータ(CSV)内には、Versionという名前の列があります。これは2文字に制限されたテキストです。最初のバージョンはAで、ZZになります。

通常のアイテムは次のように表示されます。ここでは、アイテム1の3つのバージョンがあり、バージョンカラムの昇順で並べ替えることができます。 'バージョン' に昇順の並べ替え式を使用して

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 
AA 
AB 
B 

になる:

A 
B 
AA 
AB 

どのように私は上記を達成することができますか?

+3

'ソート・オブジェクト{$ _.Version.Length}、Version' – 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

これは素晴らしいですmathias :) –

関連する問題