【发布时间】:2011-05-13 05:17:42
【问题描述】:
我有一个 C# 系统,其中需要一组关键字。如果关键字存在,则必须检查两个字段。
最初我编写了一个 foreach 循环来遍历每个关键字,然后循环遍历结果并检查。但是,这有点低效,因为在检查时,我想查看给定字符串中是否存在任何关键字,而不是一个一个。
谢谢。
【问题讨论】:
-
你有示例代码吗?
我有一个 C# 系统,其中需要一组关键字。如果关键字存在,则必须检查两个字段。
最初我编写了一个 foreach 循环来遍历每个关键字,然后循环遍历结果并检查。但是,这有点低效,因为在检查时,我想查看给定字符串中是否存在任何关键字,而不是一个一个。
谢谢。
【问题讨论】:
这question 是否符合您的要求?
答案向您展示了如何使用正则表达式一次性匹配多个可能的单词
【讨论】:
【讨论】:
如果你在 c# 3.5+ 上试试这个
Regex r1 = new Regex("MyKeywordRegex");
IEnumerable<MyResultClass> results = GetMyResults();
var myFilteredResults = results.Any(a => (r1.IsMatch(a.Field)));
【讨论】: