2011-04-04 72 views
0

我有一個LDAP路徑,我只想從它的OU。我如何操縱它來獲得OU的?操縱一個LDAP字符串

例如

LDAP://company.com/OU=MyOU,DC=MyCompany,DC=com 

是顯示爲MyOU

LDAP://company.com/OU=MyOU1,OU=MyOU2,DC=MyCompany,DC=com 

被顯示爲MyOU1/MyOU2

LDAP://company.com/OU=MyOU1,OU=MyOU2,OU=MyOU3,DC=MyCompany,DC=com 

被顯示爲MyOU1/MyOU2/MyOU3

有什麼建議?由於

回答

2

這應該工作

string str = "LDAP://company.com/OU=MyOU1,OU=MyOU2,OU=MyOU3,DC=MyCompany,DC=com"; 
Regex regex = new Regex("OU=\\w+"); 
var result = regex.Matches(str); 
var strList = new List<string>(); 
foreach (var item in result) 
{ 
    strList.Add(item.ToString().Remove(0,3)); 
} 
Console.WriteLine(string.Join("/",strList)); 
+0

我就上線得到一個錯誤:無法從「System.Collections.Generic.List 」轉換爲「字符串[]」?謝謝 – user175084 2011-04-05 13:51:39

+0

Console.WriteLine(string.Join(「/」,strList.ToArray())) – sarvesh 2011-04-05 16:00:01

+1

這是一個更多的問題,如果字符串是OU = mydomain control,DC ...那麼它只返回mydomain而不是控制..而我想mydomain控制 – user175084 2011-04-05 16:19:31