Я использую строку для представления пар имя/значение в имени файла изображения.
string pairs = image_attribs(color,purple;size,large).jpg;
Мне нужно проанализировать эту строку, чтобы получить пары имя/значение до и после точки с запятой. Я могу разделить точку с запятой и вычесть длину до открывающей скобки, но я бы хотел, чтобы соответствующая функция масштабировалась до нескольких пар.
Мне нужно придумать функцию с несколькими подстроками, которая может возвращать эти пары. Затем я составлю для них список KeyValuePairs:
List<KeyValuePair<string, string>> attributes = new List<KeyValuePair<string, string>>();
Текущий синтаксический анализ, который получает только первую пару:
string attribs = imagepath.Substring(imagepath.IndexOf("(") +1, imagepath.IndexOf(";" - imagepath.IndexOf("(");
У меня уже есть функция для анализа пар, разделенных запятыми, для создания и добавления новых KeyValuePairs.