Обрезать текстовую строку электронной почты в части @ в C # - PullRequest
1 голос
/ 05 августа 2010

У меня есть ситуация в ASP.NET C #, где, например, у меня есть адрес электронной почты hello@gmail.com, но мне нужно удалить часть @gmail.com длявсе адреса электронной почты.Пожалуйста помоги.Спасибо:)

Ответы [ 3 ]

9 голосов
/ 05 августа 2010

Вы можете использовать Класс MailAddress (System.Net.Mail) :

string mailAddress = "hello@gmail.com";
var mail = new MailAddress(mailAddress);

string userName = mail.User; // hello
string host = mail.Host; // gmail.com
string address = mail.Address; // hello@gmail.com

В случае неправильного адреса электронной почты (например, отсутствие знака или более одного) вы должны поймать FormatException , например:

string mailAddress = "hello@gmail@";
var mail = new MailAddress(mailAddress); // error: FormatException

Если вы не хотите подтверждать адрес электронной почты, вы можете использовать метод Split из строки:

string mailAddress = "hello@gmail.com";
char atSign = '@';
string user = mailAddress.Split(atSign)[0]; // hello
string host = mailAddress.Split(atSign)[1]; // gmail.com
3 голосов
/ 05 августа 2010
email = email.Substring(0, email.IndexOf('@'));
3 голосов
/ 05 августа 2010

Как это:

new MailAddress(someString).User

Если адрес электронной почты недействителен, это приведет к исключению.

Если вам также необходимо подтвердить адрес электронной почты, вы должны написать new MaillAddress(someString) внутри блока catch; это лучший способ проверить адреса электронной почты в .Net.

...