|
Сортировка строковых значений
| ☑ |
0
repin_mike
07.03.18
✎
17:02
|
Есть таблица значений, одна из колонок "номер квартиры" (тип строка). Сортировка типовым методом даёт 1,11,12...19,2,20,21,.. Переделать в число нельзя т.к. встречаются квартиры вида 19Б. Как наиболее эффективно отсотрировать?
|
|
1
Armando
07.03.18
✎
17:04
|
Как вариант с помощью лидирующих нулей привести строки к одной длине
|
|
2
Вафель
07.03.18
✎
17:06
|
(1) тогда 0180 будет раньше чем 019Б
|
|
3
Вафель
07.03.18
✎
17:06
|
нужно разбить номера на число + буква и сортировать по 2м колонкам
|
|
4
ejikbeznojek
07.03.18
✎
17:48
|
(0) можно функцию нарисовать, которая анализирует номер, и возвращает число. И вызвать её в вычисляемых полях
|
|
5
Cyberhawk
07.03.18
✎
18:04
|
(2) Нужно привести к длине без учета букв-суффиксов, т.е. будет 0180 и 0019б
|
|
6
h-sp
07.03.18
✎
18:13
|
самый универсальный вариант - посадить девочку, чтобы она всё разложила по порядку и перенумеровала все строчки. А потом уже по этому номеру сортировать.
|
|
7
Сияющий в темноте
07.03.18
✎
18:45
|
А лидирующие пробелы разве проблему не решат?
|
|
8
vova1122
07.03.18
✎
18:50
|
1. навести порядок чтобы небыло 19-Б, 19/Б, 19 Б... и тд.
2. А потом в ТЗ уже разделить на число и символ в две колонки.
|
|
9
triviumfan
07.03.18
✎
18:54
|
(0) А зачем их сортировать? Квартиры обычно не сортируют, в них просто живут :)
1) выделить числовую часть
2) отсортировать
Задача 9 класса урока информатики
|
|
10
triviumfan
07.03.18
✎
18:55
|
(9) 1) выделить числовую часть
2) добавить вспомогательную числовую колонку для сортировки
3) отсортировать
|
|
11
Мимохожий Однако
07.03.18
✎
19:22
|
(2) Можно добавить лидирующих нулей
|
|
12
mingw
07.03.18
✎
19:50
|
(0) 1. Преобразовать в числа. Дробные
"19Б" > "19.193", "19ББ" > 19.193193"
2. Отсортировать числа.
3. Обратная замена.
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан