在C#中的@部分截断电子邮件文本字符串

时间:2010-08-05 07:01:16

标签: c# asp.net string text truncate

我有一个ASP.NET C#的情况,例如我有电子邮件地址 hello@gmail.com 但我需要 @ gmail.com 部分删除所有电子邮件输入。请帮忙。谢谢:))

3 个答案:

答案 0 :(得分:9)

您可以使用MailAddress Class (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

答案 1 :(得分:3)

像这样:

new MailAddress(someString).User

如果电子邮件地址无效,则会引发异常。

如果您还需要验证电子邮件地址,则应在new MaillAddress(someString)块内写入catch;这是验证.Net中电子邮件地址的最佳方法。

答案 2 :(得分:3)

email = email.Substring(0, email.IndexOf('@'));