【asp.net】 从字符串中抓取邮箱地址
private void GetMail(string txt)
{
List<string[]> list = new List<string[]>();
string text = Regex.Replace(txt, ":", ":");
text = Regex.Replace(text, ",", ",");
text = Regex.Replace(text, "!", "!");
text = Regex.Replace(text, "。", ".");
text = Regex.Replace(text, "《", "<");
text = Regex.Replace(text, "》", ">");
text = Regex.Replace(text, "?", "?");
text = Regex.Replace(text, "“", "\"");
text = Regex.Replace(text, "”", "\"");
text = Regex.Replace(text, "[^\\x00-\\xFF]*", "");
text = text.Replace("#", "@");
Regex regex = new Regex("\\w[\\w\\.-]+?@\\w[\\w-]+?\\.\\w{2,3}(\\.\\w{2,3})*");
MatchCollection matchCollection = regex.Matches(text);
foreach (Match match in matchCollection)
{
string value = match.Value;
bool flag = true;
DataGridView dataGridView = (DataGridView)this.getctl(Application.OpenForms["frmMain"], "dgvMail")[0];
foreach (DataGridViewRow dataGridViewRow in ((IEnumerable)dataGridView.Rows))
{
if (value == dataGridViewRow.Cells["Mail"].Value.ToString())
{
flag = false;
break;
}
}
for (int i = 0; i < list.Count; i++)
{
if (list[i][1] == value)
{
flag = false;
break;
}
}
if (flag)
{
list.Add(new string[]
{
value.Substring(0, value.IndexOf('@')),
value,
this.url
});
}
}
new Thread(new ParameterizedThreadStart(this.AddList))
{
IsBackground = true
}.Start(list);
}
定,精,简,俭
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构