如果存在点(就像许多公司中常见的那样),如何提取电子邮件地址的一部分并拆分为多个部分以及名字和姓氏?
输入1
perry.rhodan@galaxy.net
输入2
atlan@galaxy.net
想要的输出 1
Perry
Rhodan
galaxy
net
想要的输出 2
atlan
galaxy
net
我在下面使用正则表达式和 if 子句来检查电子邮件中的点给出了答案。但也许有一个正则表达式可以达到相同的结果?
最佳答案
使用 C# 执行此操作:
Regex regex = new Regex(@"(.+)@(.+)(?=\.\w{2,})");
string texts = "perry.rhodan@galaxy.net\natlan@galaxy.net";
var list = new List<string>();
foreach (Match item in regex.Matches(texts))
{
list.AddRange(item.Groups[1].Value.Split('.').Where(v => !list.Any(l => l == v)));
list.AddRange(item.Groups[2].Value.Split('.').Where(v => !list.Any(l => l == v)));
}
foreach (var item in list)
{
Console.WriteLine(item);
}
关于JavaScript:提取电子邮件地址的一部分并分成几部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26429314/