2013-09-24 10 views
13

からドメイン名を取得します。 Regexでこれを達成できますか?私がメールアドレスからドメイン名を取得したい私は、電子メールアドレス</p> <pre><code>[email protected] </code></pre> <p>を持っている電子メールアドレス

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); 
+2

疑問がある場合(または何も試していない場合)、RegEx!今あなたには2つの問題があります。 –

答えて

49

文字列:'@'

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

string[0]あなたは次のようになり、将来の
string[1]でそれを必要に応じてxyzになりyahoo.com

しかし、デフォルトの答えは確かにこれを近づいての簡単な方法です。

2

または文字列ベースのソリューションのための代わりにプロパティからHostを取得することができMailAddressを使用

11

Default's answerはあなたをしようとしているものではない場合は可能性が常にSplitメールを:あなたは

MailAddress address = new MailAddress("[email protected]"); 
string host = address.Host; // host contains yahoo.com 
関連する問題