3

ここで例を見つけました:

var foo = things.Where(data => myList.Contains(data.Title));

ただし、これは正確な文字列一致です。リストToLower()にある文字列がdata.Title.ToLower()に含まれている場合にのみ興味があります。

リストにapple、book ClocKが含まれているとします。

data.Title の例: Apple Jacks、Book Club、Clockwork Book、それらはすべて問題ありません。ただし、Claws and Foods、Clicks、Application Fundamentals は受け入れられません。

4

2 に答える 2

1
var myList = new List<string> { "apple", "book", "ClocK" };
var things = new List<string> { "Apple Jacks", "Book Club", "Clockwork Book", "Claws and Foods", "Clicks", "Application Fundamentals" };
var myRegex = new Regex(string.Join("|", myList.Select(x => Regex.Escape(x))), RegexOptions.IgnoreCase);
foreach (var matchingThing in things.Where(x => myRegex.IsMatch(x)))
    Console.WriteLine(matchingThing);

出力:

Apple Jacks
Book Club
Clockwork Book
于 2013-04-05T13:34:29.523 に答える