Неправильная сортировка цифр в списке

  • Автор темы Автор темы Redsmokky
  • Дата начала Дата начала

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
321
Реакции
197
Баллы
43
Форумчане подскажите почему зенка неправильно сортирует файлы, т.е. порядок цифр идет не 1,2,3... а как на скрине 1,10,100,101...
url]



123jpg_8379944_21644117.jpg
 
Для текста это правильная сортировка
добавь нули, чтобы сортировало так как нужно тебе, типа 001.jpg 002.jpg
 
Все правильно, сначала по первому разряду, потом по второму и т.п. Винда так же сортирует.
 
Все правильно, сначала по первому разряду, потом по второму и т.п. Винда так же сортирует.
Ок, а как сделать чтобы сортировались по возрастанию 1,2,3....
Нули добавлял не помогает:(
 
Попробуйте Операции со списком>Сортировать - сортировать как числа, если возможно. И нули сначала добавить
пробовал еще вчера, тоже не получается, результат остается прежний(
 
В списке лежат строки
2016-04-22_215551.png

используем этот код в C# кубике

C#:
Развернуть Свернуть Копировать
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));

на выходе имеем правильную сортировку
2016-04-22_215611.png
 
Спасибо всем кто откликнулся, разобрался :ar::ar::ar: Vladz точно подметил насчет разрядности, про это я забыл)
Через ТС надо переименовать файлы так чтобы было 3 символа в названии файла, пример приложу на скрине, может кому пригодится
нужно в Total Commandere выбрать --> групповое переименование файлов --> установить счетчик и поставить значение как на скрине
321jpg_2314339_21649662.jpg
 
  • Спасибо
Реакции: VladZen
Спасибо всем кто откликнулся, разобрался :ar::ar::ar: Vladz точно подметил насчет разрядности, про это я забыл)
Через ТС надо переименовать файлы так чтобы было 3 символа в названии файла, пример приложу на скрине, может кому пригодится
нужно в Total Commandere выбрать --> групповое переименование файлов --> установить счетчик и поставить значение как на скрине
321jpg_2314339_21649662.jpg

Зачем такой огород если я дал рабочий код, это что мне ещё командор специально загружать ???
 
Спасибо всем кто откликнулся, разобрался :ar::ar::ar: Vladz точно подметил насчет разрядности, про это я забыл)
Через ТС надо переименовать файлы так чтобы было 3 символа в названии файла, пример приложу на скрине, может кому пригодится
нужно в Total Commandere выбрать --> групповое переименование файлов --> установить счетчик и поставить значение как на скрине
321jpg_2314339_21649662.jpg
тут будет работать строковая сортировка, с дополнительными телодвижениями в ТС, а выше предложен был C#-снипет, для сортировки именно по числам..
не подходит?
 
  • Спасибо
Реакции: Redsmokky
Зачем такой огород если я дал рабочий код, это что мне ещё командор специально загружать ???
Я потом увидел сообщение, после того как отправил вариант с тотальником, спасибо за код буду использовать :ay:
 
По убыванию

C#:
Развернуть Свернуть Копировать
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderByDescending(s=>s.Length).ThenByDescending(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));
 
  • Спасибо
Реакции: gvova, sentinel и Ribas
не могли бы вы подсказать решение на c#, если нужно просто инвертировать порядок строк (от последней к первой). Сейчас список выглядит так:
строка1
строка2
строка3
...
строкаX

а нужно:
строкаX
.....
строка3
строка2
строка1

При этом содержание у каждой строки разное и стандартная сортировка постера "по убыванию" или "по возрастанию" не подходит.
 
не могли бы вы подсказать решение на c#, если нужно просто инвертировать порядок строк (от последней к первой). Сейчас список выглядит так:
строка1
строка2
строка3
...
строкаX

а нужно:
строкаX
.....
строка3
строка2
строка1

При этом содержание у каждой строки разное и стандартная сортировка постера "по убыванию" или "по возрастанию" не подходит.
было бы нагляднее если бы ты приложил проект, хотя бы тестовый
 
было бы нагляднее если бы ты приложил проект, хотя бы тестовый
приложил пример.
В проекте список выглядит так:
Код:
Развернуть Свернуть Копировать
проспект
3
117
1
самолёт
привет, мой дорогой друг!
2
78127
аварц

нужно инвертировать (отзеркалить строки), чтобы выглядел так:
Код:
Развернуть Свернуть Копировать
аварц
78127
2
привет, мой дорогой друг!
самолёт
1
117
3
проспект
 

Вложения

  • 12.xmlz
    12.xmlz
    10,4 KB · Просмотры: 279
C#:
Развернуть Свернуть Копировать
var lst = project.Lists["Список"];
var rez = lst.Reverse().ToList();
lst.Clear();
project.Lists["Список"].AddRange(rez);
 
  • Спасибо
Реакции: paydot, sentinel и Marcelo
В списке лежат строки
Посмотреть вложение 12869
используем этот код в C# кубике

C#:
Развернуть Свернуть Копировать
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));

на выходе имеем правильную сортировку
Посмотреть вложение 12870
Код не работает. Что делаю не правильно. list2 - это какой параметр ?
 
помогите
 

Вложения

  • test.xmlz
    test.xmlz
    11,5 KB · Просмотры: 302
точнее в архиве
 

Вложения

  • test.rar
    test.rar
    10,7 KB · Просмотры: 291
Подскажите если кто знает. И зачем не рабочие экшены нужны типа операция со списком - сортировка.
 
затем, что они рабочие
не соглашусь, они имено не правильно отсортируют так же как экшен с директорией не запишит ничего если попадёт на закрытую папку, он рекурсивно не настроен например и получается в обоих случая они бесполезны для меня и надо писать код
 
В списке лежат строки
Посмотреть вложение 12869
используем этот код в C# кубике

C#:
Развернуть Свернуть Копировать
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));

на выходе имеем правильную сортировку
Посмотреть вложение 12870
C#:
Развернуть Свернуть Копировать
{"title":"20 серия","file":"https://www.ntv.ru/video/embed/1964544/?og","descr":" «20 серия»  смотреть онлайн бесплатно","datetime":"2020-11-13","announce":"no","ostring":""},
{"title":"19 серия","file":"https://www.ntv.ru/video/embed/1964545/?og","descr":" «19 серия»  смотреть онлайн бесплатно","datetime":"2020-11-13","announce":"no","ostring":""},
{"title":"18 серия","file":"https://www.ntv.ru/video/embed/1963849/?og","descr":" «18 серия»  смотреть онлайн бесплатно","datetime":"2020-11-12","announce":"no","ostring":""},
{"title":"17 серия","file":"https://www.ntv.ru/video/embed/1963850/?og","descr":" «17 серия»  смотреть онлайн бесплатно","datetime":"2020-11-12","announce":"no","ostring":""},
{"title":"16 серия","file":"https://www.ntv.ru/video/embed/1963343/?og","descr":" «16 серия»  смотреть онлайн бесплатно","datetime":"2020-11-11","announce":"no","ostring":""},
{"title":"15 серия","file":"https://www.ntv.ru/video/embed/1963361/?og","descr":" «15 серия»  смотреть онлайн бесплатно","datetime":"2020-11-11","announce":"no","ostring":""},
{"title":"14 серия","file":"https://www.ntv.ru/video/embed/1962704/?og","descr":" «14 серия»  смотреть онлайн бесплатно","datetime":"2020-11-10","announce":"no","ostring":""},
{"title":"13 серия","file":"https://www.ntv.ru/video/embed/1962640/?og","descr":" «13 серия»  смотреть онлайн бесплатно","datetime":"2020-11-10","announce":"no","ostring":""},
{"title":"12 серия","file":"https://www.ntv.ru/video/embed/1962641/?og","descr":" «12 серия»  смотреть онлайн бесплатно","datetime":"2020-11-09","announce":"no","ostring":""},
{"title":"11 серия","file":"https://www.ntv.ru/video/embed/1962561/?og","descr":" «11 серия»  смотреть онлайн бесплатно","datetime":"2020-11-09","announce":"no","ostring":""},
{"title":"10 серия","file":"https://www.ntv.ru/video/embed/1960161/?og","descr":" «10 серия»  смотреть онлайн бесплатно","datetime":"2020-11-06","announce":"no","ostring":""},
{"title":"9 серия","file":"https://www.ntv.ru/video/embed/1960181/?og","descr":" «9 серия»  смотреть онлайн бесплатно","datetime":"2020-11-06","announce":"no","ostring":""},
{"title":"8 серия","file":"https://www.ntv.ru/video/embed/1959681/?og","descr":" «8 серия»  смотреть онлайн бесплатно","datetime":"2020-11-05","announce":"no","ostring":""},
{"title":"7 серия","file":"https://www.ntv.ru/video/embed/1959682/?og","descr":" «7 серия»  смотреть онлайн бесплатно","datetime":"2020-11-05","announce":"no","ostring":""},
{"title":"6 серия","file":"https://www.ntv.ru/video/embed/1959201/?og","descr":" «6 серия»  смотреть онлайн бесплатно","datetime":"2020-11-04","announce":"no","ostring":""},
{"title":"5 серия","file":"https://www.ntv.ru/video/embed/1959202/?og","descr":" «5 серия»  смотреть онлайн бесплатно","datetime":"2020-11-04","announce":"no","ostring":""},
{"title":"4 серия","file":"https://www.ntv.ru/video/embed/1958721/?og","descr":" «4 серия»  смотреть онлайн бесплатно","datetime":"2020-11-03","announce":"no","ostring":""},
{"title":"3 серия","file":"https://www.ntv.ru/video/embed/1958720/?og","descr":" «3 серия»  смотреть онлайн бесплатно","datetime":"2020-11-03","announce":"no","ostring":""},
{"title":"2 серия","file":"https://www.ntv.ru/video/embed/1958004/?og","descr":" «2 серия»  смотреть онлайн бесплатно","datetime":"2020-11-02","announce":"no","ostring":""},
{"title":"1 серия","file":"https://www.ntv.ru/video/embed/1958044/?og","descr":" «1 серия»  смотреть онлайн бесплатно","datetime":"2020-11-02","announce":"no","ostring":""},
 
В списке лежат строки
Посмотреть вложение 12869
используем этот код в C# кубике

C#:
Развернуть Свернуть Копировать
List<string> numbers = project.Lists["list1"].ToList();// зеновский список
project.Lists["list2"].Clear();
numbers = numbers.OrderBy(s=>s.Length).ThenBy(s=>s).ToList();
numbers.ForEach(s=>project.Lists["list2"].Add(s));

на выходе имеем правильную сортировку
Посмотреть вложение 12870

В моём случае не работает. По данному методу отсортировалось так:

Цена: 9.03(-2,9) udtek.by
Цена: 9.8(-2,13) myt.by
Цена: 10(-1,93) austore.by
Цена: 8.9(-3,03) abstroy.by
Цена: 9.9(-2,03) stroy.by
Цена: 11.82(-0,11) oybaza.by
Цена: 8.82(-3,11) mhatu.by
Цена: 11.35(-0,58-) umdecor.by

Как можно отсортировать по возрастанию, по цифрам которые находятся между: словом "Цена:" и открывающейся скобкой "("


ещё и 8-) влез. Вместо него 8 и )

Неужели всю эту фигню придётся раскладывать в Таблицу по ячейкам, и сортировать по нужному столбцу:
Из переменной в список - из списка в таблицу - сортировка по нужному столбцу - опять в переменную.
 
Последнее редактирование:
В моём случае не работает. По данному методу отсортировалось так:

Цена: 9.03(-2,9) udtek.by
Цена: 9.8(-2,13) myt.by
Цена: 10(-1,93) austore.by
Цена: 8.9(-3,03) abstroy.by
Цена: 9.9(-2,03) stroy.by
Цена: 11.82(-0,11) oybaza.by
Цена: 8.82(-3,11) mhatu.by
Цена: 11.35(-0,58-) umdecor.by

Как можно отсортировать по возрастанию, по цифрам которые находятся между: словом "Цена:" и открывающейся скобкой "("
Простым стандартным методом, к сожалению, отсортировать нельзя, так как это строки, а не числа в чистом виде.
 
  • Спасибо
Реакции: kolina

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)