public static Reaction Parse(string rawData) { string[] parts = rawData.Split(new[] { ", ", " => " }, StringSplitOptions.RemoveEmptyEntries); return(new Reaction { inputs = parts.Take(parts.Length - 1).Select(ElementData.Parse).ToArray(), output = ElementData.Parse(parts.Last()), }); }