我有这个代理地址字符串,它们用空格分隔,但是x400和x500将空格处理到它们的地址中.什么是拆分它的最佳方法.
例如
smtp:john@a-mygot.com smtp:john@b-mygot.com smtp:john@c-mygot.com X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen; SMTP:john@mygot.com
Run Code Online (Sandbox Code Playgroud)
预期结果:
smtp:john@a-mygot.com
smtp:john@b-mygot.com
smtp:john@c-mygot.com
X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen;
SMTP:john@mygot.com
Run Code Online (Sandbox Code Playgroud)
谢谢,
编辑,
string mylist = "smtp:john@a-mygot.com smtp:john@b-mygot.com smtp:john@c-mygot.com X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen; SMTP:john@mygot.com 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);
}
Run Code Online (Sandbox Code Playgroud)
结果
smtp:john@a-mygot.com
smtp:john@b-mygot.com
smtp:john@c-mygot.com
X400:C=us;A= ;P=mygot;O=Exchange;S=John;G=Gleen;
SMTP:john@mygot.com
X500:/o=Example/ou=USA/cn=Recipients of /cn=juser
smtp:myaddress
Run Code Online (Sandbox Code Playgroud)
这是一个应该与协议之前的空格匹配的正则表达式.尝试将其插入Regex.Split如下:
string[] results = Regex.Split(input, @" +(?=\w+:)");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
232 次 |
| 最近记录: |