Моя первая попытка заключалась в том, чтобы ответить
Разделить на \r\n
и использовать RemoveEmptyEntries
как вариант.
Но потом я понял, что вы используете дословные строки (@"..."
), так что у вас есть \r\n
буквально.
Мое предложение состоит в том, чтобы разделить более или менее регулярные буквальные разрывы строк и обработать все специальные вещи специально:
var test = @"Order No.: 999\r\n\r\nCustomer ID:\r\n\r\nName:\r\n\r\Comment:\r\nPosition\r\n\r\nCount 20.80";
var result = test.Split(new string[] { @"\r\n" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var s in result)
{
var fixawkward = s;
if (fixawkward.StartsWith(@"\r\"))
{
fixawkward = fixawkward.Substring(3);
}
Console.WriteLine(fixawkward);
}
Для кода реального мира я предлагаю вам сделать эту специальную обработку настраиваемой. Как только внешняя система предоставит вам правильные данные, вы захотите как можно скорее отключить специальную обработку. Клиенты не хотят ждать 3 месяца, пока вы получите новую версию, если они обновили внешнюю систему.