Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
1

Получить из строки значения, которые содержат любой фрагмента текста из списка

25.07.2021, 20:34. Показов 3918. Ответов 1
Метки c#, linq (Все метки)

Author24 — интернет-сервис помощи студентам
Получить из строки значения, которые содержат любой фрагмента текста из списка
Т.е. как получить из "mainList " следующие значения:
- "Value_5"
- "Value_6" ?

Критерии нужно указать двумя массивами:
- var exceptonList = new[] { "Value_3",
"Value_4"};
и
- var exceptonList2 = new[] { "Pref_A_*",
"Pref_B_*"}; (типа строка содержит "Pref_A_" или "Pref_B_" )

Как использовать "exceptonList" я разобрался.
А как сделать чтобы Contains использовал несколько значений не понимаю...
Или можно без Contains обойтись?

Код.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void GetValue()
{
 var mainList = new[] { "Pref_A_Value_1", 
       "Pref_B_Value_2", 
       "Value_3", 
       "Value_4", 
       "Value_5", 
       "Value_6" };
 
 var exceptonList = new[] { "Value_3", 
       "Value_4"};
 
 var exceptonList2 = new[] { "Pref_A_*", 
       "Pref_B_*"};
 
 var result = mainList
    .Select(x => x)
    .Except(exceptonList);
  
 foreach (var element in result)
 {
  Console.WriteLine(element);
 }
 Console.WriteLine("End");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2021, 20:34
Ответы с готовыми решениями:

Вывести на экран те строки файла, которые содержат в качестве фрагмента заданный текст
Только начала изучать файлы, подскажите, почему программа не видит одинаковых строчек? Задание:...

Получение списка файлов в папке и всех подпапках на сетевом диске, которые содержат определенные значения
Уважаемые знатоки! Нужна ваша помощь, т.к. задачка для меня оказалась не по зубам( Существует...

Вывести строки массива, которые содержат только положительные значения
Задан двумерный целочисленный массив B размером 8 на 8 элементов. Написать процедуру для распечатки...

Вывести строки массива, которые содержат только положительные значения
Задан двумерный целочисленный массив B размером 8 на 8 элементов. Написать процедуру для распечатки...

1
147 / 91 / 56
Регистрация: 03.02.2021
Сообщений: 278
23.08.2021, 10:01 2
Если формат exceptionList2 именно такой, то могу предложить следующий вариант:
C#
1
2
3
          var result = mainList
               .Select(x => x)
               .Except(exceptonList).Where(s => !exceptonList2.Any(t => Regex.IsMatch(s, ((string)t).Replace("*","*."))));
Добавлено через 1 час 34 минуты
Что делается: вызывается Where, который отсекает элементы совпадающие по маске с любым элементом из exceptionList2. Сравнение по маске осуществляется через Regex.IsMatch, но только в исходной маске "*" меняется на "*.", где * означает "любое количество вхождений (включая 0)", а "." - "любой символ кроме новой строки".
0
23.08.2021, 10:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2021, 10:01
Помогаю со студенческими работами здесь

Для заданной строки текста определите слова, которые содержат символы, отличные от букв
Здравствуйте, помогите пожалуйста с задачей. Для заданной строки текста определите слова,...

Дано текстовый файл f. Получить все его строки, которые содержат больше, чем 15 символов
Дано текстовый файл f. Получить все его строки, которые содержат больше, чем 15 символов.

Отфильтровать вектор строк: вывести те строки, которые содержат гласных букв больше задаваемого пользователем значения
Добрый вечер. Задача. Помогите пожалуйста. Есть вектор произвольных строк, необходимо отфильтровать...

Скопировать из файла F1 в файл F2 все строки, которые не содержат цифры. Подсчитать количество строк, которые начи
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию Выполнить...

Как из фрагмента текста получить маркированный список
макрос преобразующий фрагмент текста в маркированны список в VBA

удалить из текста слова которые содержат цифры
Нужно написать программу, в которой пользователь вводит текст, а из него удаляются слова которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru