web-dev-qa-db-fra.com

Obtenir le nom de domaine à partir d'une adresse e-mail

J'ai une adresse e-mail

[email protected]

Je souhaite obtenir le nom de domaine à partir de l'adresse e-mail. Puis-je y parvenir avec Regex?

31
user339160

En utilisant MailAddress vous pouvez récupérer le Host d'une propriété à la place

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

Si réponse par défaut n'est pas ce que vous essayez, vous pouvez toujours Split la chaîne de l'e-mail après le '@'

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

string[0] serait xyz si vous en aviez besoin à l'avenir
string[1] serait yahoo.com

Mais la réponse de Default est certainement un moyen plus facile d'aborder cela.

22
Chris

Ou pour les solutions basées sur des chaînes:

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);
6
poke