Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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# 分离ldap连接字符串的最佳方法是什么?_C#_Regex_String - Fatal编程技术网

C# 分离ldap连接字符串的最佳方法是什么?

C# 分离ldap连接字符串的最佳方法是什么?,c#,regex,string,C#,Regex,String,我正试图找出最好的方法,通过使用正则表达式或LDAP字符串中现有的字符串方法,将域名和其余信息转换成2个字符串 以下是active directory连接字符串: "LDAP://yourdomain.com/OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com" 我想得到的结果是: string DomainName = "yourdomain.com" string Container = "OU=Bla,OU=Bla2,OU=Bla3,DC=yourdo

我正试图找出最好的方法,通过使用正则表达式或LDAP字符串中现有的字符串方法,将域名和其余信息转换成2个字符串

以下是active directory连接字符串:

"LDAP://yourdomain.com/OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com"
我想得到的结果是:

string DomainName = "yourdomain.com"
string Container = "OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com"

这是一个带有LDAP协议的标准URL,我将使用对您可用的URL

var uri = new Uri(LDAPConnectionString);
var host = uri.Host;
var Container = uri.Segments[1];

等等。

这是一个带有LDAP协议的标准URL,我将使用您可用的

var uri = new Uri(LDAPConnectionString);
var host = uri.Host;
var Container = uri.Segments[1];

等等。

这可以使用简单的字符串操作来完成,不需要正则表达式

var parts = "LDAP://yourdomain.com/OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com".Replace("LDAP://", "").Split('/');
Console.WriteLine(parts[0]); // yourdomain.com
Console.WriteLine(parts[1]); // OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com

这可以使用简单的字符串操作来完成,不需要正则表达式

var parts = "LDAP://yourdomain.com/OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com".Replace("LDAP://", "").Split('/');
Console.WriteLine(parts[0]); // yourdomain.com
Console.WriteLine(parts[1]); // OU=Bla,OU=Bla2,OU=Bla3,DC=yourdomain,DC=com

实际上,我认为URI类不会解析路径的另一端,因为它不是真正的标准URL。但是,我测试了uri.Segments[1]并给出了第二部分。这似乎是一种正确的方法,但我没有完全理解。你能再解释一下吗?因此,LDAP字符串位于web.config文件中。我将其转换为代码,并将其分为两部分,即域名和其他部分。ThanksIt是一个URL。你习惯了像这样的URLhttp://... 但是URL规范是独立于协议的,我实际上认为URI类不会解析路径的另一端,因为它不是真正的标准URL。但是,我测试了uri.Segments[1]并给出了第二部分。这似乎是一种正确的方法,但我没有完全理解。你能再解释一下吗?因此,LDAP字符串位于web.config文件中。我将其转换为代码,并将其分为两部分,即域名和其他部分。ThanksIt是一个URL。你习惯了像这样的URLhttp://... 但是URL规范与协议无关。如果某个containername包含斜杠,则容器部分将失败。请改为使用.Splitnew Char[]{'/'},2,如果某个containername包含斜杠,则此操作对于容器部分将失败。请改用.Splitnew Char[]{'/'},2,请参见