【问题标题】:Get domain name from an email address从电子邮件地址获取域名
【发布时间】:2013-09-29 14:03:58
【问题描述】:

我有一个电子邮件地址

xyz@yahoo.com

我想从电子邮件地址中获取域名。我可以用 Regex 实现这一点吗?

【问题讨论】:

  • 如果有疑问(或者您没有尝试过任何东西),请使用正则表达式!现在你有两个问题。

标签: c# email domain-name


【解决方案1】:

使用MailAddress,您可以改为从属性中获取Host

MailAddress address = new MailAddress("xyz@yahoo.com");
string host = address.Host; // host contains yahoo.com

【讨论】:

    【解决方案2】:

    如果Default's answer 不是您想要的,您可以始终Split '@' 之后的电子邮件字符串

    string s = "xyz@yahoo.com";
    string[] words = s.Split('@');
    

    words[0] 将是 xyz 如果您将来需要它
    words[1] 将是 yahoo.com

    但默认的答案肯定是解决这个问题的更简单方法。

    【讨论】:

    • 请注意,电子邮件地址可以包含多个“@”。我很确定最后一个总是将“用户”与“域”分开。
    【解决方案3】:

    或者对于基于字符串的解决方案:

    string address = "xyz@yahoo.com";
    string host;
    
    // using Split
    host = address.Split('@')[1];
    
    // using Split with maximum number of substrings (more explicit)
    host = address.Split(new char[] { '@' }, 2)[1];
    
    // using Substring/IndexOf
    host = address.Substring(address.IndexOf('@') + 1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多