Получить доменное имя с адреса электронной почты

У меня есть адрес электронной почты

[email protected]

Я хочу получить доменное имя с адреса электронной почты. Могу ли я достичь этого с помощью Regex?

Ответ 1

Используя MailAddress, вы можете извлечь Host из свойства

MailAddress address = new MailAddress("[email protected]");
string host = address.Host; // host contains yahoo.com

Ответ 2

Если Ответ по умолчанию - это не то, что вы пытаетесь, вы всегда можете Split строку электронной почты после '@'

string s = "[email protected]";
string[] words = s.Split('@');

string[0] будет xyz, если вам это нужно в будущем
string[1] будет yahoo.com

Но ответ по умолчанию - это, безусловно, более простой способ приблизиться к этому.

Ответ 3

Или для строковых решений:

string address = "[email protected]";
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);