Разбить строку с пробелами, если они не заключены в «кавычки»?
Чтобы сделать вещи простыми:
string streamR = sr.ReadLine(); // sr.Readline results in:
// one "two two"
Я хочу иметь возможность сохранить их в виде двух разных строк, удалить все пробелы за исключением пробелов, найденных между кавычками. Поэтому мне нужно:
string 1 = one
string 2 = two two
До сих пор я обнаружил, что работает следующий код, но он удаляет пробелы в кавычках.
//streamR.ReadLine only has two strings
string[] splitter = streamR.Split(' ');
str1 = splitter[0];
// Only set str2 if the length is >1
str2 = splitter.Length > 1 ? splitter[1] : string.Empty;
Результатом этого становится
one
two
Я смотрел вРегулярное выражение для разделения на пробелы, кроме как в кавычках однако я не могу заставить regex работать / понимать код, особенно как разделить их так, чтобы они представляли собой две разные строки. Все коды там дают мне ошибку компиляции (я используюSystem.Text.RegularExpressions
)