C#拆分字符串电子邮件

时间:2014-04-17 14:30:49

标签: c# mysql split

在我的数据库表 MySQL 中,我存储了这个字符串示例:

name.surname@thedomain.com

我需要在 C#中为此输出发送此字符串

NAME SURNAME

尝试了这个解决方案:

string[] emails = strEMail_user.ToString().Split('.');
string newUserName = emails[0].ToUpper().ToString() + " " 
                   + emails[1].ToUpper().ToString();

但是我输出了这个错误的字符串:

NAME SURNAME@THEDOMAIN.

4 个答案:

答案 0 :(得分:2)

如果这是您的模式name.surname@thedomain.com,那么您可以将Split与两个分隔符一起使用,并获得第一和第二部分:

var parts = "name.surname@thedomain.com".Split('.', '@');

string name = parts[0];

string surname = parts[1];

答案 1 :(得分:1)

使用strEMail_user.ToString().Split('@')[0]作为电子邮件的第一部分,其中存储了姓名和姓氏。然后,您可以按.分割,以获得姓名和姓氏,如果这是您的电子邮件模式。

答案 2 :(得分:1)

可以使用string.Split次调用的组合来执行此操作,但使用Regex类来完成此操作会更加简洁。

你的正则表达式应该是这样的:

([a-zA-Z]*)\.([a-zA-Z]*)@thedomain\.com

然后,您可以使用Regex.Match方法从匹配组中获取值。

答案 3 :(得分:1)

您要在name.surname@thedomain.com字符上拆分字符串.。这将给你以下几件:

name
surname@thedomain
com

请记住,字符串末尾有一个.com。你想要做的只是拆分电子邮件地址的开头。尝试首先在@符号上拆分整个电子邮件地址,以返回以下内容:

name.surname
thedomain.com

现在,您可以拆分.字符上的第一部分来获取您的姓名。

请注意,这完全假定您的所有电子邮件地址都属于此格式,并忽略了名字/姓氏位置的文化差异。