我有这个代理地址的字符串,它们被一个空格分开,但是x400和x500将空格处理到它们的地址中。什么是分割它的最佳方法。将它拆分成一个数组
例如
smtp:[email protected] smtp:[email protected] smtp:[email protected] X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen; SMTP:[email protected]
预期结果:
smtp:[email protected]
smtp:[email protected]
smtp:[email protected]
X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen;
SMTP:[email protected]
感谢,
EDIT,
string mylist = "smtp:[email protected] smtp:[email protected] smtp:[email protected] X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen; SMTP:[email protected] X500:/o=Example/ou=USA/cn=Recipients of /cn=juser smtp:myaddress";
string[] results = Regex.Split(mylist, @" +(?=\w+:)");
foreach (string part in results)
{
Console.WriteLine(part);
}
结果
smtp:[email protected]
smtp:[email protected]
smtp:[email protected]
X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen;
SMTP:[email protected]
X500:/o=Example/ou=USA/cn=Recipients of /cn=juser
smtp:myaddress
好吧,你可以在SMTP上分割,然后再添加它,或者是时候享受正则表达式了。 –
获取smtp和x400,x400和下一个smtp之间的子字符串。 然后拆分单个字符串(实际上只有一个字符串..第一个子字符串)。 –
OP - 你有控制输入吗? –