46

我有一个电子邮件地址

xyz@yahoo.com

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

4

3 回答 3

110

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

MailAddress address = new MailAddress("xyz@yahoo.com");
string host = address.Host; // host contains yahoo.com
于 2013-09-24T11:23:27.630 回答
28

如果默认的答案不是你想要的,你总是可以Split'@'

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

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

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

于 2013-09-24T11:29:27.010 回答
10

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

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);
于 2013-09-24T11:29:07.720 回答