У меня есть ListBox, который содержит некоторые данные, как показано ниже:
C44 EXCLUDES 237.910 193.469 0 0603_5
C45 EXCLUDES 244.102 193.387 0 0603
R47 EXCLUDES 226.935 179.519 90 0402_1
C18 CAP-00129G 230.960 190.619 0 0402
C17 CAP-00129G 250.085 198.569 180 0402_3
Q7 IC-00268G 258.460 205.594 0 SOT236
C25 CAP-00130G 255.635 189.669 90 0402_3
C56 EXCLUDES 229.430 189.374 0 0402
R42 EXCLUDES 241.010 192.194 90 TANT3216
R21 CAP-00129G -123.370 -112.114 270 0402_3
R10 EXCLUDES 246.560 203.894 0 0402_9
... .......... ....... ....... ... ........
Я хотел бы отсортировать ListBox по окончанию строк... поэтому значения в столбце 6th (0603_5, 0603_5, 0402_2, 0402_4, 0402_3, TANT3216, 0402_9....).
Хотя не все из них показаны в приведенном выше примере файла, вот порядок, в котором они должны отображаться (сверху вниз):
RES, 0402, 0201, 0603, 0805, 1206, 1306, 1608, 3216, 2551, 1913, 1313, 2513, 5125, 2525, 5619, 3813, 1508, 6431, 2512, 1505, 2208, 1005, 1010, 2010, 0505, 0705, 1020, 1812, 2225, 5764, 4532, 1210, 0816, 0363, SOT.
Кроме того, если есть несколько одинаковых окончаний (см. *0402_3* выше и ниже), то элемент списка будет отсортирован по столбцу 2nd. Таким образом, несмотря на то, что строка, начинающаяся с R21
, идет после строки, начинающейся с C25
, и обе они заканчиваются на *0402_3*, R21
будет помещено выше C25
, потому что второй столбец проверяется после шестого столбца (он отсортирован от наименьшего к наибольшему). ).
ТАК, новый файл будет выглядеть так:
C18 CAP-00129G 230.960 190.619 0 0402
C56 EXCLUDES 229.430 189.374 0 0402
R47 EXCLUDES 226.935 179.519 90 0402_1
C17 CAP-00129G 250.085 198.569 180 0402_3
R21 CAP-00129G -123.370 -112.114 270 0402_3
C25 CAP-00130G 255.635 189.669 90 0402_3
R10 EXCLUDES 246.560 203.894 0 0402_9
C45 EXCLUDES 244.102 193.387 0 0603
C44 EXCLUDES 237.910 193.469 0 0603_5
R42 EXCLUDES 241.010 192.194 90 TANT3216
Q7 IC-00268G 258.460 205.594 0 SOT236
... .......... ....... ....... ... ........
Обратите внимание, что TANT3216
стоит перед SOT236
, потому что он идет от числа 3216, а не от TANT в приведенном выше списке порядка.
ВОПРОСЫ:
- Как правильно отсортировать первый файл, чтобы он выглядел как второй файл, используя столбец 6th (и, при необходимости, столбец 2nd)?
- Могу ли я использовать Regex или есть более простой способ?
- У меня есть 3 ListBox, этот 1 должен быть отсортирован с использованием правил (окончаний) выше, 2-й ListBox использует отдельные правила, а 3-й ListBox сортирует все остальное, что не вошло в 1-й или 2-й ListBox. Итак, 1-й и 2-й ListBox похожи, так как же я могу сортировать что-либо по его окончаниям в алфавитном порядке для 3-го ListBox?