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 に答える