У меня есть 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
, поскольку во втором столбце проверяется после 6-го столбца(сортируется от наименьшего к наибольшему).
SO, новый файл будет выглядеть так:
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 (и при необходимости 2-й столбец)?
- Могу ли я использовать Regex или есть более простой способ?
- У меня есть 3 ListBox, этот 1 нужно отсортировать, используя правила (окончания) выше,2-й ListBox использует отдельные правила, а 3-й ListBox сортирует все, что не вошло в 1-й или 2-й ListBox.Итак, 1-й и 2-й списки списка похожи, так как я могу отсортировать что-либо по окончанию в алфавитном порядке для 3-го списка ListBox?