Планируется построчно читать текстовый файл.
Строки будут такого же вида как аргументы, которые передаются приложению из командной строки (пример):
string1 "string2" string3 string4 "string5"
метод String.Split не подходит, т.к. в строке возможно будут пробелы которые разделять будет ненужно, такие строки выделяются кавычками.
Возможно есть какая-то нативная функция?
UPD. Решение нашел следующее:
Regex RegExObj = new Regex("\"([^\"]+)\"|([^\\s]+)");
string[] str = File.ReadAllLines(path);
foreach (string s in str)
{
Match matchResults = RegExObj.Match(s);
List<string> result = new List<string>();
while (matchResults.Success)
{
if (matchResults.Groups[1].Value != "")
result.Add(matchResults.Groups[1].Value);
else
result.Add(matchResults.Groups[2].Value);
matchResults = matchResults.NextMatch();
}
}