Ste*_*ev0 8 c# regex duplicates
关于我早先的一个问题,出现了一个新的问题.我有一些代码使用正则表达式来查找电子邮件地址.它工作得很好,除了它返回重复的匹配.我搜索了这个网站,发现很久以前的一个问题是处理类似的问题,答案与将正则表达式逻辑与字符串[]和Distinct()方法混合有关.不幸的是,我对阵列的理解仍然有限.
我的代码将所有正则表达式匹配放入a MatchCollection
.除此之外,我如何与此MatchCollection
进行交互以仅为正则表达式添加唯一匹配?
Mar*_*ers 11
您可以通过做Distinct
如果你调用.NET中3.5或更新Cast
你的比赛集合,这样就可以使用LINQ扩展方法:
MatchCollection matchCollection = Regex.Matches(input, pattern);
List<string> matches = matchCollection
.Cast<Match>()
.Select(m => m.Value)
.Distinct()
.ToList();
Run Code Online (Sandbox Code Playgroud)
这假设您在文件顶部有以下用法:
using System.Linq;
using System.Collections.Generic;
Run Code Online (Sandbox Code Playgroud)