Skip to content

Instantly share code, notes, and snippets.

@hoetz
Created February 1, 2016 13:07
Show Gist options
  • Save hoetz/eed9d98df83cbf82943a to your computer and use it in GitHub Desktop.
Save hoetz/eed9d98df83cbf82943a to your computer and use it in GitHub Desktop.
DN split
private List<string> GetDistinguishedNamePartList(bool withNameQualifier)
{
string ouQualifier = "ou=";
string nameQualifier = "cn=";
string domainQualifier = "dc=";
string[] arrayOfEntryStrings = null;
List<string> listOfEntryStrings = new List<string>();
if (withNameQualifier)
{
arrayOfEntryStrings = Regex.Split(this.Value, string.Format("({0}|{1}|{2})", ouQualifier, domainQualifier, nameQualifier), RegexOptions.IgnoreCase);
string temporaryString = string.Empty;
foreach (string entryString in arrayOfEntryStrings)
{
if (!string.IsNullOrEmpty(entryString))
{
if (entryString.ToLower().StartsWith(ouQualifier) || entryString.ToLower().StartsWith(domainQualifier) || entryString.ToLower().StartsWith(nameQualifier))
{
temporaryString = entryString;
}
else
{
temporaryString = string.Format("{0}{1}", temporaryString, entryString);
if (temporaryString.EndsWith(","))
listOfEntryStrings.Add(temporaryString.Substring(0, temporaryString.Length - 1));
else
listOfEntryStrings.Add(temporaryString);
}
}
}
}
else
{
arrayOfEntryStrings = Regex.Split(this.Value, string.Format("{0}|{1}|{2}", ouQualifier, domainQualifier, nameQualifier), RegexOptions.IgnoreCase);
foreach (string entryString in arrayOfEntryStrings)
{
if (!string.IsNullOrEmpty(entryString))
{
if (entryString.EndsWith(","))
listOfEntryStrings.Add(entryString.Substring(0, entryString.Length - 1));
else
listOfEntryStrings.Add(entryString);
}
}
}
return listOfEntryStrings;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment