Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中使用正则表达式拆分收件人姓名和电子邮件地址?_C#_Regex - Fatal编程技术网

如何在C#中使用正则表达式拆分收件人姓名和电子邮件地址?

如何在C#中使用正则表达式拆分收件人姓名和电子邮件地址?,c#,regex,C#,Regex,我有一个字符串数组,其中包含电子邮件收件人的姓名和电子邮件。要发送相关电子邮件,我需要使用正则表达式拆分值。我不熟悉这个正则表达式区域: 这是字符串数组 [ "Jason D Silva <ejd@yopmail.com>", "Aruna Nishantha <arunan@yopmail.com>", "Dan Carter <dancarter@yopmail.com>" ] [ “杰森·D·席尔瓦”, “Aruna Nishantha”, “

我有一个字符串数组,其中包含电子邮件收件人的姓名和电子邮件。要发送相关电子邮件,我需要使用正则表达式拆分值。我不熟悉这个正则表达式区域:

这是字符串数组

[ 
 "Jason D Silva <ejd@yopmail.com>",
 "Aruna Nishantha <arunan@yopmail.com>",
 "Dan Carter <dancarter@yopmail.com>"
]
[
“杰森·D·席尔瓦”,
“Aruna Nishantha”,
“丹·卡特”
]
我想将值拆分为名称和电子邮件。正确完成拆分后,我将按如下方式将其插入列表:

List<KeyValuePair<string, string>> recipientList = new List<KeyValuePair<string, string>>();
  foreach (var item in recipients)
    {
        // Regex pattern 
        if (true)
         {
             //add to recipientList
         }
     }
List recipientList=new List();
foreach(收件人中的变量项)
{
//正则表达式模式
如果(真)
{
//添加到收件人列表
}
}

有关正则表达式模式的任何帮助,请?

您不需要正则表达式,您可以使用
String.Split

string[] myArray = // ...
foreach(string kv in myArray) 
{
    string[] values = kv.Split(" <");
    // to eliminate the terminating ("noisy" > at the end
    values[1] = values[1].Substring(0, values[1].IndexOf('>');
}
string[]myArray=/。。。
foreach(myArray中的串kv)
{

string[]values=kv.Split(“您可以使用以下正则表达式:

^(?<Name>.*)\s\<(?<Email>.*)\>$
^(?.*)\s\$
使用此选项,您可以通过以下方式检索名称和电子邮件地址:

var match = Regex.Match("Jason D Silva <ejd@yopmail.com>", @"^(?<Name>.*)\s\<(?<Email>.*)\>$");
var email = match.Groups["Email"].Value;
var name = match.Groups["Name"].Value;
var match=Regex.match(“Jason D Silva”,@“^(?.*)\s\$”;
var email=match.Groups[“email”].Value;
var name=match.Groups[“name”].Value;

使用
String.Substring
方法的正确实现

int start, end;

String[] a = {"Jason D Silva <ejd@yopmail.com>","Aruna Nishantha <arunan@yopmail.com>","Dan Carter <dancarter@yopmail.com>" };

 foreach (String item in a)
 {
       Console.WriteLine(item);

       end = item.IndexOf('<');

       Console.WriteLine(" \t Name : " + item.Substring(0, end));

       start = item.IndexOf('<');
       end = item.IndexOf('>');

       Console.WriteLine(" \t email : " + item.Substring(start + 1, end - (start + 1)));

}
int开始,结束;
字符串[]a={“Jason D Silva”、“Aruna Nishantha”、“Dan Carter”};
foreach(a中的字符串项)
{
控制台写入线(项目);

end=item.IndexOf('第二个数组项(电子邮件)的末尾将包含一个嘈杂的
。你想在输出中使用
字符吗?@Avinash不需要。谢谢这个实现真的很有效。谢谢!!.Bt我正在寻找一个正则表达式模式。.投票赞成
"Jason D Silva <ejd@yopmail.com>"                                                                                                                                
         Name : Jason D Silva                                                                                                                                     
         email : ejd@yopmail.com                                                                                                                                  
"Aruna Nishantha <arunan@yopmail.com>"                                                                                                                            
         Name : Aruna Nishantha                                                                                                                                   
         email : arunan@yopmail.com                                                                                                                               
"Dan Carter <dancarter@yopmail.com>"                                                                                                                              
         Name : Dan Carter                                                                                                                                        
         email : dancarter@yopmail.com