У меня есть строка, как показано ниже, которая отделена труба имеет двойные кавычки строки (например:. «АНИ»)Как разбить строку с разделителями в виде трубы (который не в двойных кавычках
Как ? Должен ли я разделить это с разделителем труб (которые не являются в двойных кавычках)
511186|"ANI"|"ABCD-102091474|E|EFG"||"2013-07-20 13:47:19.556"
И расщепленные значения Shoule быть, как показано ниже:
511186
"ANI"
"ABCD-102091474|E|EFG"
"2013-07-20 13:47:19.556"
Любая помощь будет оценена
EDIT
Ответ, который я принял, не работаю для тех строк, которые имеют двойные кавычки внутри. Любая идея, в чем проблема?
using System.Text.RegularExpressions;
string regexFormat = string.Format(@"(?:^|\{0})(""[^""]*""|[^\{0}]*)", '|');
string[] result = Regex.Matches("111001103|\"E\"|\"BBB\"|\"XXX\"|||10000009|153086649|\"BCTV\"|\"REV\"|||1.00000000|||||\"ABC-BT AD\"|\"\"\"ABC - BT\"\" AD\"|||\"N\"||\"N\"|||\"N\"||\"N",regexFormat)
.Cast<Match>().Select(m => m.Groups[1].Value).ToArray();
foreach(var i in result)
Console.WriteLine(i)
Тэг ваш вопрос с регулярным выражением, и я уверен, что кто-то придет и вероятно, сможет дать вам возможность разделить строку так, как вы хотите. –
Спасибо, сделал это. – Relativity