UPDATE:Использования сплита с г п г п
Я не понимал, что Томас Левеска разместила решение и работала на моем ниже один в то же время. Я долгое время не использую C#/VS2010, но я должен сказать, что C# невероятно продуктивен, и я пинаю себя, что я застрял на C++ и откладывал обучение C# так долго.
Stack<string> LdifUserStack = new Stack<string>();
String LdifValidUser = null;
var query2 = File.ReadAllLines(args[1]).ToList();
foreach (var item in query2)
{
if (item.Contains("Fullname")) continue;
LdifValidUser += item + System.Environment.NewLine;
if (LdifValidUser.Contains("GivenName:") && LdifValidUser.Contains("SN:"))
{
LdifUserStack.Push(LdifValidUser);
LdifValidUser = null;
}
else if (string.IsNullOrEmpty(item))
{
LdifValidUser = null;
}
}
END UPDATE:
У меня есть простой файл Ldif, и я пытаюсь разделить на /г/п/г/п но не радость, независимо от комбинации я использую раскол всегда происходит на каждой строке.
var query2 =
from line in File.ReadAllLines(args[1])
let LDIFRecord = line.Split(new string[] { "\r\n\r\n"},StringSplitOptions.None)
select LDIFRecord;
foreach (var item in query2)
{
//do something
}
//Also tried line.Split(new string[] {"'\r\n','\r\n'"},StringSplitOptions.None)
// sample ldif file
dn: cn=Admin1,ou=abt,o=cach
changetype: modify
GivenName: Admin
Fullname: Administrator for abt Server
SN: Admin
CN: Admin
dn: cn=admin,ou=ters,o=cach
changetype: modify
GivenName: Administrator
Fullname: cach Administrator
SN: admin
CN: admin
dn: cn=Supervisor,o=cach
changetype: modify
SN: Supervisor
CN: Supervisor
Я вижу.Каждая запись в файле ldif разделяется на/r/n/r/n позже. Я обрабатываю только записи, содержащие атрибуты. Имя: & SN: – Canacourse
. См. Мой обновленный ответ для решения. –
Спасибо за объяснение и решение. – Canacourse