Как удалить строки из списка которые старше 30 дней?

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Шаблон заносит при каждой публикации в список: UnixTime;текст

Пример:
1603316817.72244;Name-A
1603476012.43424;Name-B
1603476050.71825;Name-C
1603476067.78107;Name-D

Нужно удалить все строки которые старше 30 дней. Возможна ли реализовать по регулярному выражению как в скрине? Если нет то как реализовать?

Screenshoot:
 

Bas

Client
Регистрация
15.12.2013
Сообщения
623
Благодарностей
257
Баллы
63
Взять строку, сделать SPLIT по ";", проверить сколько строке дней, если меньше 30 - внести ее в новый список. Либо удалить из текущего, только нужно учитывать тогда что список стал короче и нужно чекать не следующую строку, а эту же (это касаемо цикла).
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 416
Баллы
113
C#:
List<string>templist = new List<string>();//временный список
var list = project.Lists["список"];//исходный список
foreach(string date in list)//проверяем все строки в списке
    if(Convert.ToInt32(date.Split('.')[0]) > (int)(DateTime.Now - new DateTime(1970, 1, 30)).TotalSeconds)//если младше 30 дней
        templist.Add(date);//добавляем во временный список
list.Clear();//опустошаем исходный список
list.AddRange(templist);//добавляем в исходный список строки из временного
Проверить было негде, если, что поправите там с временем, вдруг, я накосячил.
 
  • Спасибо
Реакции: Lextor

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
получилось
 

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
C#:
List<string>templist = new List<string>();//временный список
var list = project.Lists["список"];//исходный список
foreach(string date in list)//проверяем все строки в списке
    if(Convert.ToInt32(date.Split('.')[0]) > (int)(DateTime.Now - new DateTime(1970, 1, 30)).TotalSeconds)//если младше 30 дней
        templist.Add(date);//добавляем во временный список
list.Clear();//опустошаем исходный список
list.AddRange(templist);//добавляем в исходный список строки из временного
Проверить было негде, если, что поправите там с временем, вдруг, я накосячил.


работает, так как вы написали :-)
 

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