次のような文字列のリストがあります。
- 文字列1
- 文字列1.文字列2
- 文字列1.文字列2.文字列3
- その他1
- その他1.その他2
- テスト1
- スタッフ1.スタッフ1
- テキスト1.テキスト2.テキスト3
- フォルダー1.フォルダー2.フォルダーA
- フォルダー1.フォルダー2.フォルダーB
- フォルダー1.フォルダー2.フォルダーB.フォルダーC
これを次のようにグループ化します。
- 文字列1.文字列2.文字列3
- その他1.その他2
- テスト1
- スタッフ1.スタッフ1
- テキスト1.テキスト2.テキスト3
- フォルダー1.フォルダー2.フォルダーA
- フォルダー1.フォルダー2.フォルダーB.フォルダーC
「String1」が次の項目「String1.String2」にある場合、最初の項目は無視され、2 番目の項目が 3 番目の項目にある場合は、3 番目の「String1.String2.String3」のみが取得されます (n 個の項目)。文字列はノード/パスのような構造で、ドットで分割できます。
フォルダーの例でわかるように、Folder2 には 2 つの異なるサブフォルダー アイテムがあるため、両方の文字列が必要になります。
Linqでこれを処理する方法を知っていますか? 私は VB.Net を好みますが、C# も問題ありません。
よろしくアトゥー