using static System.Console;
using System.Linq;
public class Program {
public static void Main() {
var txtFiltro = "noiva,unhas";
var lista = new[] {
new{Nome_Grupo = "Noivas de Plantão"},
new{Nome_Grupo = "Noivas 2016/ 2017 - RJ"},
new{Nome_Grupo = "Noivas Goianas"},
new{Nome_Grupo = "NOIVA FELIZ-Compra,venda e troca de acessórios e vestidos de noivas."},
new{Nome_Grupo = "DEUS ACIMA DE TUDO"},
new{Nome_Grupo = "No Colo De Nossa Senhora"},
new{Nome_Grupo = "Aqui tem uma frase com unhas"},
};
var palavrasFiltro = txtFiltro.ToLower().Split(',');
var matches = lista.Where(x => !x.Nome_Grupo.ToLower().ContainsAny(palavrasFiltro)).ToList();
matches.ForEach(WriteLine);
}
}
public static class StringExt {
public static bool ContainsAny(this string haystack, params string[] needles) {
char[] separators = { '\n', ',', '.', ' ' }; //isto é ingênuo, precisa ver tudo o que pode indicar fim de frase
var words = haystack.Split(separators);
foreach (var word in words) {
foreach (var needle in needles) {
if (word == needle) return true;
}
}
return false;
}
}
//https://pt.stackoverflow.com/q/128150/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBTeXN0ZW0uTGlucTsKCQkJCQkKcHVibGljIGNsYXNzIFByb2dyYW0gewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKSB7CgkJdmFyIHR4dEZpbHRybyA9ICJub2l2YSx1bmhhcyI7CgkJdmFyIGxpc3RhID0gbmV3W10gewoJCQluZXd7Tm9tZV9HcnVwbyA9ICJOb2l2YXMgZGUgUGxhbnTDo28ifSwKCQkJbmV3e05vbWVfR3J1cG8gPSAiTm9pdmFzIDIwMTYvIDIwMTcgLSBSSiJ9LAoJCQluZXd7Tm9tZV9HcnVwbyA9ICJOb2l2YXMgR29pYW5hcyJ9LAoJCQluZXd7Tm9tZV9HcnVwbyA9ICJOT0lWQSBGRUxJWi1Db21wcmEsdmVuZGEgZSB0cm9jYSBkZSBhY2Vzc8OzcmlvcyBlIHZlc3RpZG9zIGRlIG5vaXZhcy4ifSwKCQkJbmV3e05vbWVfR3J1cG8gPSAiREVVUyBBQ0lNQSBERSBUVURPIn0sCgkJCW5ld3tOb21lX0dydXBvID0gIk5vIENvbG8gRGUgTm9zc2EgU2VuaG9yYSJ9LAoJCQluZXd7Tm9tZV9HcnVwbyA9ICJBcXVpIHRlbSB1bWEgZnJhc2UgY29tIHVuaGFzIn0sCgkJfTsKCQl2YXIgcGFsYXZyYXNGaWx0cm8gPSB0eHRGaWx0cm8uVG9Mb3dlcigpLlNwbGl0KCcsJyk7CgkJdmFyIG1hdGNoZXMgPSBsaXN0YS5XaGVyZSh4ID0+ICF4Lk5vbWVfR3J1cG8uVG9Mb3dlcigpLkNvbnRhaW5zQW55KHBhbGF2cmFzRmlsdHJvKSkuVG9MaXN0KCk7CgkJbWF0Y2hlcy5Gb3JFYWNoKFdyaXRlTGluZSk7Cgl9Cn0KCnB1YmxpYyBzdGF0aWMgY2xhc3MgU3RyaW5nRXh0IHsKCXB1YmxpYyBzdGF0aWMgYm9vbCBDb250YWluc0FueSh0aGlzIHN0cmluZyBoYXlzdGFjaywgcGFyYW1zIHN0cmluZ1tdIG5lZWRsZXMpIHsKCQljaGFyW10gc2VwYXJhdG9ycyA9IHsgJ1xuJywgJywnLCAnLicsICcgJyB9OyAvL2lzdG8gw6kgaW5nw6pudW8sIHByZWNpc2EgdmVyIHR1ZG8gbyBxdWUgcG9kZSBpbmRpY2FyIGZpbSBkZSBmcmFzZQoJCXZhciB3b3JkcyA9IGhheXN0YWNrLlNwbGl0KHNlcGFyYXRvcnMpOwoJCWZvcmVhY2ggKHZhciB3b3JkIGluIHdvcmRzKSB7CgkJCWZvcmVhY2ggKHZhciBuZWVkbGUgaW4gbmVlZGxlcykgewoJCQkJaWYgKHdvcmQgPT0gbmVlZGxlKQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzEyODE1MC8xMDE=