You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按域名或特定子串对邮件列表分组并生成子列表?

按邮件域名分组的实现方案

核心思路

从每个邮件地址中提取@符号后的完整域名作为分组键,通过LINQ的GroupBy方法完成分组,最终将每个子组转换为独立的字符串列表,支持所有类型的域名(如@yahoo.fr、@mail.ru等)。

实现代码

方式一:字符串分割(简单高效)

直接通过Split('@')提取域名部分,适合格式规范的邮件列表:

var emails = new List<string> 
{
    "a@gmail.com",
    "b@yahoo.fr",
    "c@tafmail.com",
    "b@mail.ru"
};

// 分组并转换为字典:键为域名,值为对应邮件列表
var groupedEmails = emails.GroupBy(email => email.Split('@')[1])
                          .ToDictionary(group => group.Key, group => group.ToList());

方式二:正则表达式(兼容复杂场景)

如果需要处理格式更灵活的邮件地址,可使用正则提取域名,解决你之前正则使用失败的问题:

using System.Text.RegularExpressions;

var emails = new List<string> 
{
    "a@gmail.com",
    "b@yahoo.fr",
    "c@tafmail.com",
    "b@mail.ru"
};

// 正则匹配@后到字符串结尾的所有字符(即完整域名)
var domainRegex = new Regex(@"@(.+)$");
var groupedEmailsWithRegex = emails.GroupBy(email => domainRegex.Match(email).Groups[1].Value)
                                   .ToDictionary(group => group.Key, group => group.ToList());

安全处理(兼容非法邮件地址)

如果列表中存在无@的非法地址,可先过滤再分组,避免报错:

// 字符串分割方式的安全版
var safeGroupedEmails = emails.Where(email => email.Contains("@"))
                              .GroupBy(email => email.Split('@')[1])
                              .ToDictionary(group => group.Key, group => group.ToList());

// 正则方式的安全版
var safeGroupedEmailsRegex = emails.Where(email => domainRegex.IsMatch(email))
                                   .GroupBy(email => domainRegex.Match(email).Groups[1].Value)
                                   .ToDictionary(group => group.Key, group => group.ToList());

使用分组结果

遍历分组后的字典,即可获取每个域名对应的邮件列表:

foreach (var domainGroup in groupedEmails)
{
    Console.WriteLine($"域名:{domainGroup.Key}");
    Console.WriteLine("邮件列表:");
    foreach (var email in domainGroup.Value)
    {
        Console.WriteLine($"  - {email}");
    }
}

输出示例:

域名:gmail.com
邮件列表:
  - a@gmail.com
域名:yahoo.fr
邮件列表:
  - b@yahoo.fr
域名:tafmail.com
邮件列表:
  - c@tafmail.com
域名:mail.ru
邮件列表:
  - b@mail.ru

内容的提问来源于stack exchange,提问作者Jakob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:45:40