Массовое удаление строк из списка

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

zlodey

Client
Регистрация
24.04.2011
Сообщения
148
Реакции
17
Баллы
18
Доброй ночи, подскажите как лучше организовать массовое удаление строк из списка, на данный момент нашел /post-396935

Получается можно использовать регулярку (?i)(один|два|три) в результате строки удаляются массово, но и тут проблема с формирование регулярки нужного формата из построчного списка слов, через екшен (обработка текста) не получилось строки собрать в регулярку вида (?i)(один|два|три), подскажите как лучше это сделать без сторонних инструментов.
 
Не умею регулярками пользоваться и не хочу уметь
C#:
Развернуть Свернуть Копировать
var list = project.Lists["list"];// оригинальный список
List<string> stoplist = project.Lists["stoplist"];// список со стопсловами
List<string> temp = new List<string>(list.Where(x=>!stoplist.Any(x.Contains)));
list.Clear();
list.AddRange(temp);
 
  • Оценить
Реакции: zlodey
Добавляете слова в Список.
С помощью экшена Операции над списком-Объединить элементы списка объединяете строки с разделителем |.
После этого у Вас получится что-то в таком духе - лето|зима|осень|весна (представим, что эта строка у Вас хранится в переменной stop_words).
Затем с помощью экшена Обработка переменных создаём окончательное регулярное выражение с помощью такой конструкции - (?i)({-Variable.stop_words-})
71479

Или же можно пропустить второй шаг, а сразу использовать конструкцию (?i)({-Variable.stop_words-}) в экшене удаления строк:
71480
 
Не умею регулярками пользоваться и не хочу уметь
C#:
Развернуть Свернуть Копировать
var list = project.Lists["list"];// оригинальный список
List<string> stoplist = project.Lists["stoplist"];// список со стопсловами
List<string> temp = new List<string>(list.Where(x=>!stoplist.Any(x.Contains)));
list.Clear();
list.AddRange(temp);


Ошибка

C#:
Развернуть Свернуть Копировать
Ошибка в действии "CS0266" "Cannot implicitly convert type 'ZennoLab.InterfacesLibrary.ProjectModel.IZennoList' to 'System.Collections.Generic.List<string>'. An explicit conversion exists (are you missing a cast?)". [Строка: 2; Cтолбец: 25]
 
а, ну да. Прошу прощения)
C#:
Развернуть Свернуть Копировать
var list = project.Lists["list"];// оригинальный список
var stoplist = project.Lists["stoplist"];// список со стопсловами
List<string> temp = new List<string>(list.Where(x=>!stoplist.Any(x.Contains)));
list.Clear();
list.AddRange(temp);
 
  • Оценить
Реакции: zlodey

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