Сортировка списка по цифрам. Как?

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
Привет, есть вот такой список

C#:
url_id1 ( 2342532 / название1 )
url_id2 ( 423423 / название2 )
url_id3 ( 432342 / название3 )
url_id4 ( 123123 / название4 )
url_id5 ( 1242342 / название5 )
url_id6 ( 3453 / название6 )
url_id7 ( 235456 / название7 )
url_id8 ( 2343345 / название8 )
url_id9 ( 53234 / название9 )
надо сделать сортировку по убыванию
чтоб в начале списка шли строки где большие цыфри и далее меньше

возможно ли такое сделать?

то есть нужен вот такой результат

C#:
url_id8 ( 2343345 / название8 )
url_id5 ( 1242342 / название5 )
url_id7 ( 235456 / название7 )
и тд
 

one

Client
Регистрация
22.09.2015
Сообщения
6 792
Благодарностей
1 264
Баллы
113
Операции над таблицей->Сортировать. Не, не то?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113
На днях был подобный вопрос, там решение было с помощью C# снипета.
Деталей не вспомню.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
это список, но все равно не то, не сортирует как надо
На днях был подобный вопрос, там решение было с помощью C# снипета.
да, уже нашел

но пока не получается правильно составить регулярку, ругается
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
то есть такая регулярка работает
C#:
(?<=\(\ ).+?(?=\ /)
(?<=\(\ ).*?(?=\ /)
72402


C#:
var lst = project.Lists["signal"].ToList();// зеновский список
var z = lst.OrderBy(x => Convert.ToInt32(Regex.Match(x, "(?<=\(\ ).+?(?=\ /)").Value)).ToList();
project.Lists["signal"].Clear();
project.Lists["signal"].AddRange(z);
C#:
но выдает ошибку
72403
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113
  • Спасибо
Реакции: backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
работает, теперь надо по убыванию сделать :-)
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
правильный сниппет, всем спасибо!

по возрастанию
C#:
var lst = project.Lists["signal"].ToList();// зеновский список
var z = lst.OrderBy(x => Convert.ToInt32(Regex.Match(x, @"(?<=\(\ ).+?(?=\ /)").Value)).ToList();
project.Lists["signal"].Clear();
project.Lists["signal"].AddRange(z);
по убыванию
C#:
var lst = project.Lists["signal"].ToList();// зеновский список
var z = lst.OrderByDescending(x => Convert.ToInt32(Regex.Match(x, @"(?<=\(\ ).+?(?=\ /)").Value)).ToList();
project.Lists["signal"].Clear();
project.Lists["signal"].AddRange(z);
 

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